矩形面積並

2021-08-08 16:56:09 字數 843 閱讀 2543

hdu1542 

#include #include #include #include using namespace std;

const int size=505;

int add[size<<2]; //add為區間標記,與懶惰標記類似

double x[size<<2],sum[size<<2];

struct node

node(double a,double b,double c,int d):l(a),r(b),h(c),ss(d){}

friend bool operator<(node p,node q)

int main(){ //用的是從下到上掃瞄,也就是掃瞄線,又因為

int n,i,k,l,m,r,cas; //x座標可能過多,因此需要對x軸進行離散化,從

double a,b,c,d,ans; //下到上掃瞄也就是遇到下邊進行成段加1,遇到

cas=1; //上邊就是成段減1,所以問題就變成了線段樹成

while(scanf("%d",&n)!=eof&&n){ //段更新,但我們還需要解決線段重疊的問題,只

k=1,ans=m=0; //要修改pushup就能巧妙的解決這個問題

for(i=0;i

矩形周長並,矩形面積並,矩形面積交

目錄 矩形周長並 矩形面積並 矩形面積交 includeusing namespace std const int maxn 50004 2 struct nodesegtree maxn 2 struct lineline maxn bool cmp line a,line b void cal ...

線段樹矩形面積並,面積交,周長並

include include include include using namespace std const int maxn 2000 10 define lson l,mid,rt 1 define rson mid 1,r,rt 1 1 struct rec rec maxn 2 str...

線段樹 矩形面積並

給出n個矩形的左下角和右上角的座標,求矩形面積的並。矩形面積並指的是被矩形覆蓋到的面積和,重疊部分僅算一次。多組輸入,每組首先乙個整數 n,代表矩形的數量 接下來每行四個整數 x1,x2,y1,y2,表示左上角座標 x1,y1 與右下角 x2,y2 每行乙個整數,表示矩形的面積並。input 10 ...