這道題據說是noip哪年哪道題???
被各大省講爛了???
首先大致思路如上所示:以乙個點代表其右上的乙個單位。這個單位矩形的某種不可名狀性質如右上所示。這樣,陣列xy[c][c]就代表了c+1到c這個小矩形是否被覆蓋了,然後我們在塗點的時候就塗少乙個單位,這樣小矩形合起來剛好就能代表整個大矩形,然後我們用這個方法求出所有覆蓋面積(就是一群矩形);
但是呢這道題的重點其實是在離 散 化
離散化的**相信很容易就能從下列**中被識別出來,具體方式就是利用對映陣列,將元素對映為下標。
其實後來發現這道題很容易= =可能是我搞的時間略長,,
題目:
#include// by: chorolop
#include#include#includeusing namespace std;
double x[300],y[300],xy[300][300],ans;
double s[300][4];
int n,k = 1;
void _init()
int main()
sort(x+1,x+k);
sort(y+1,y+k);
for(int i = 1;i <= n;i++)
for(int px = 0;px <= k;px++)
for(int py = 0;py <= k;py++)
ans += xy[px][py] * (x[px+1]-x[px]) * (y[py+1]-y[py]);
printf("%.2lf\n",ans);
scanf("%d",&n);
} return 0;
}
CODEVS 3044 矩形面積求並
描述 輸入n個矩形,求他們總共占地面積 也就是求一下面積的並 分析 其實上面的部落格講的講的就很清楚了.就相當於把矩形用許多小矩形來代替.這些小矩形都是有一邊或幾條邊延長後過其他矩形的頂點.這麼一說好像更複雜了.換個說法,就是把所有矩形的邊都作為可無限延長的分割線,將所有矩形分割成小矩形.每個小矩形...
CodeVS3044矩形面積求並
codevs3044矩形面積求並 題解 題目描述 description 輸入n個矩形,求他們總共占地面積 也就是求一下面積的並 輸入描述 input description 可能有多組資料,讀到n 0為止 不超過15組 每組資料第一行乙個數n,表示矩形個數 n 100 接下來n行每行4個實數x1,...
codevs3044 矩形面積求並
這幾天入了資料結構的坑,其實簡單的線段樹 樹狀陣列 左偏樹之類的以前就會的,但是不是很會應用,特別是例如優化dp 擴充套件到高維這些應用上就是渣啊,因為之前對離散化不了解,所以看了hwzer的 好久都沒懂,到最後發現原來這個線段樹維護的並不是乙個數軸,只是乙個陣列而已,乙個陣列有被標記的元素,然後用...