HNOI2012 三角形覆蓋問題

2021-06-20 09:01:27 字數 924 閱讀 6046

time limit: 20 sec  memory limit: 128 mb

submit: 172  solved: 95 [

submit][

status]

二維平面中,給定

n個等腰直角三角形(每個三角形的兩條直角邊分別

平行於座標軸,斜邊從左上到右下)。我們用三個非負整數(

x, y,

d)來描

述這樣乙個三角形,三角形三個頂點的座標

分別為(

x, y), (

x +

d, y)和(

x,y +

d)。要求計算這

n個三角形所覆蓋的總面

積。例如,下圖有 3 個三角形,覆蓋的總面積為 11.0。

輸入檔案第一行為乙個正整數n

,表示三角形的個數。接下來的n

行每行有用空格隔開的三個非負整數,x,y   , d

,描述乙個三角

形的頂點座標,分別為

(x, y), (x

+ d, y), (x,y+d),

其中x, y,d

滿足0≤x, y, d≤1000000。

對於50%的資料,1≤n≤500;

100%的資料,1≤n≤10000。

僅包含一行,為乙個實數s

,表示所有三角形所覆蓋的總面積,輸出恰

好保留一位小數。輸入資料保證s≤2^31。

3 .

1 1 4

2 0 2

3 2 2

11.0

day2

從最低點弄根掃瞄線,一直到最高點,每次掃瞄線++

兩根掃瞄之間的面積,就是下面那根掃瞄線被覆蓋的長度+上面那根掃瞄線被非底邊覆蓋的長度,然後除以2。

然後最壞是100000 * 1000000

直接上**

省選專練 HNOI2012 三角形覆蓋問題

典型的 對我來說不典型 的多邊形的並 通用演算法 掃瞄線 鍊錶 不斷往上掃瞄並且利用乙個cover陣列暴力改 然後用鍊錶維護新增和刪除 include include include include includeusing namespace std const int n 1e6 100 str...

三角形問題

問題及 檔名稱 main.cpp 作 者 李磊濤 版 本 號 v1.0 問題描述 輸出三角形的周長和面積。輸入描述 無。程式輸出 輸出三角形的周長和面積。include includeusing namespace std class void setabc double x,double y,do...

數字三角形問題

數字三角形問題 標籤 動態規劃 雜談分類 演算法設計 34 5 11 9 8 15 21 13 4 這是乙個數字三角形。請編乙個程式計算從頂至底的某處的一條路徑,使該路徑所經過的數字的總和最大。每一步可沿左斜線向下或右斜線向下走 1 三角形行數 200 三角形中的數字為整數0,1,99 輸入格式 第...