題意:給你n張矩形海報,之後每張矩形之中又挖去乙個小矩形,問你n個復合矩形的面積並
思路:我們把那個挖空的小矩形變換一下,變成4個矩形
就是這樣,之後就變成了4個小矩形之後求一下面積並就好了
上**吧:
#include #include #include #include #define lson l, m , rt<<1
#define rson m+1,r,rt<<1|1
using namespace std;
const int maxn = 50000+10;
struct seg
; seg(double a,double b,double c,int d) : l(a),r(b),h(c),f(d){}
bool operator < (const seg & cmp) const
}edg[maxn<<3];
int x[maxn<<3];
struct node
ve[maxn<<2];
void pushdown(int l,int r,int rt)
else if(l == r) ve[rt].len = 0;
else
}void update(int l,int r,int l,int r,int rt,int val)
int m = (r+l)>>1;
if(l<=m)
if(r>m)
pushdown(l,r,rt);
}int main()
sort(x,x+cnt);
sort(edg,edg+cnt);
int m = unique(x,x+cnt) - x;
long long ans = 0 ;
for(int i = 0 ; i < cnt ; i++)
printf("%lld\n",ans);}}
HDU3265 掃瞄線 線段樹 區間並
傳送門 hdu3265 題意 n個海報,每個海報中間有個矩形的洞。問這n個海報覆蓋面積和是多少。分析 非常經典的題目了,掃瞄線 線段樹 進行 區間並操作 既然海報內有塊矩形不能計算入內,只要把海報分為四塊不重疊的部分就好了。重點是空間限制比較緊,交了若干次才a的。改用unsigned short 0...
HDU 2050 折線拆分平面
problem description 我們看到過很多直線分割平面的題目,今天的這個題目稍微有些變化,我們要求的是n條折線分割平面的最大數目。比如,一條折線可以將平面分成兩部分,兩條折線最多可以將平面分成7部分。input 輸入資料的第一行是乙個整數c,表示測試例項的個數,然後是c 行資料,每行包含...
HDU2050 折線分割平面
題目描述 problem description 我們看到過很多直線分割平面的題目,今天的這個題目稍微有些變化,我們要求的是n條折線分割平面的最大數目。比如,一條折線可以將平面分成兩部分,兩條折線最多可以將平面分成7部分,具體如下所示。輸入資料的第一行是乙個整數c,表示測試例項的個數,然後是c 行資...