#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
#define MAXN 22222
#define MAXM 5555
#define INF 100000007
#define lch(x) x<<1
#define rch(x) x<<1|1
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
using namespace std;
const int N=1000002;
double tmp[N];
double bin[N];
int n;
int cnt;
int tot;
int lsize;
struct Node
{
int l,r;
double ylen;//并
double yylen;//交
int ncover;//全部覆盖
} tree[N*4];
void built(int l,int r,int fa)
{
tree[fa].l=l;
tree[fa].r=r;
tree[fa].ncover=tree[fa].ylen=tree[fa].yylen=0;
if(l==r-1)
return ;
int mid=(r+l)/2;
built(l,mid,fa<<1);
built(mid,r,fa<<1|1);
}
void update1(int fa)//面积的并
{
int r=tree[fa].r;
int l=tree[fa].l;
if(tree[fa].ncover>0)
tree[fa].ylen=bin[r]-bin[l];
else if(l+1==r)
tree[fa].ylen=0;
else
tree[fa].ylen=
矩形面积的并(交)
最新推荐文章于 2013-06-06 15:13:02 发布