codevs3044 矩形面積求並

2021-07-25 23:15:51 字數 944 閱讀 8703

這幾天入了資料結構的坑,其實簡單的線段樹、樹狀陣列、左偏樹之類的以前就會的,但是不是很會應用,特別是例如優化dp、擴充套件到高維這些應用上就是渣啊,因為之前對離散化不了解,所以看了hwzer的**好久都沒懂,到最後發現原來這個線段樹維護的並不是乙個數軸,只是乙個陣列而已,乙個陣列有被標記的元素,然後用離散化過的掃瞄線法掃出來每條線之間被覆蓋的矩形距離,附上原汁原味的~~我的~~hzwer的**。

#include

#include

#include

#include

using namespace std;

struct dataa[808];

int col[801];

double hash[201];

double sum[801];

inline bool cp(data a,data b)

void pushup(int size,int l,int r)

void updata(int l,int r,int flag,int l,int r,int size)

intm=(l+r)>>1;

if (l<=m)updata(l,r,flag,l,m,size*2);

if (r>m)updata(l,r,flag,m+1,r,size*2|1);

pushup(size,l,r);

}int main()

sort(a+1,a+n*2+1,cp);sort(hash+1,hash+n*2+1);

memset(col,0,sizeof(col));

memset(sum,0,sizeof(sum));

double ans=0;

for (int i=1;i<=n*2;i++)

printf("%.2f\n",ans);

}return

0;}

CODEVS 3044 矩形面積求並

描述 輸入n個矩形,求他們總共占地面積 也就是求一下面積的並 分析 其實上面的部落格講的講的就很清楚了.就相當於把矩形用許多小矩形來代替.這些小矩形都是有一邊或幾條邊延長後過其他矩形的頂點.這麼一說好像更複雜了.換個說法,就是把所有矩形的邊都作為可無限延長的分割線,將所有矩形分割成小矩形.每個小矩形...

CodeVS3044矩形面積求並

codevs3044矩形面積求並 題解 題目描述 description 輸入n個矩形,求他們總共占地面積 也就是求一下面積的並 輸入描述 input description 可能有多組資料,讀到n 0為止 不超過15組 每組資料第一行乙個數n,表示矩形個數 n 100 接下來n行每行4個實數x1,...

矩形面積求並(codevs 3044)

題目描述 description 輸入n個矩形,求他們總共占地面積 也就是求一下面積的並 輸入描述 input description 可能有多組資料,讀到n 0為止 不超過15組 每組資料第一行乙個數n,表示矩形個數 n 100 接下來n行每行4個實數x1,y1,x2,y1 0 x1 x2 100...