BZOJ 1935: [Shoi2007]Tree 园丁的烦恼
2017-05-14 21:35
417 查看
迷糊着想了好久动态规划,实在想睡觉于是开始想分治,最后还是老实地睡了一会儿再看(大概隔了一天)
这不是可以用二维树状数组吗,然后发现数据范围有点不对劲。。。
摆好姿势去膜了一发dalao,看到大部分人是离线加上树状数组,对啊,我是搜索'bzoj 离线'才找到这道题的啊...
把给出的条件和询问放在一起,给出点的信息相当于插入,离线做,按x坐标排序,y坐标搞一个一维树状数组,每一个询问分成四个部分
水过(感觉自己太蠢了)~
这不是可以用二维树状数组吗,然后发现数据范围有点不对劲。。。
摆好姿势去膜了一发dalao,看到大部分人是离线加上树状数组,对啊,我是搜索'bzoj 离线'才找到这道题的啊...
把给出的条件和询问放在一起,给出点的信息相当于插入,离线做,按x坐标排序,y坐标搞一个一维树状数组,每一个询问分成四个部分
水过(感觉自己太蠢了)~
#include<cstdio> #include<algorithm> #define N 500005 #define C (c=getchar()) using namespace std; inline int read() { int a=0,f=1;static char c;C; while(c<'0'||c>'9'){if(c=='-')f=-1;C;} while(c>='0'&&c<='9'){a=a*10+c-'0';C;} return a*f; } struct node{int x,y,f,id;}a[N*5]; int t[N*2+1],ans ; inline int lowbit(int x){return x&(-x);} inline void change(int x) { for(int i=x;i<=N*2;i+=lowbit(i)) ++t[i]; } inline int ask(int x) { int res=0; for(int i=x;i>0;i-=lowbit(i)) res+=t[i]; return res; } int cmp(node a,node b){if(a.x==b.x)return a.id<b.id;return a.x<b.x;} int n,m,cnt; int main() { n=read(),m=read(); for(int i=1;i<=n;++i) a[i].x=read()+1,a[i].y=read()+1; cnt=n; for(int i=1;i<=m;++i) { int x1=read()+1,y1=read()+1,x2=read()+1,y2=read()+1; a[++cnt]=(node){x1-1,y1-1,1,i}; a[++cnt]=(node){x2,y2,1,i}; a[++cnt]=(node){x1-1,y2,-1,i}; a[++cnt]=(node){x2,y1-1,-1,i}; } sort(a+1,a+cnt+1,cmp); for(int i=1;i<=cnt;++i) { if(!a[i].id) change(a[i].y); else ans[a[i].id]+=a[i].f*ask(a[i].y); } for(int i=1;i<=m;++i) printf("%d\n",ans[i]); return 0; }
相关文章推荐
- BZOJ1935: [Shoi2007]Tree 园丁的烦恼
- bzoj 1935: [Shoi2007]Tree 园丁的烦恼
- 【bzoj1935】[Shoi2007]Tree 园丁的烦恼
- BZOJ 1935: [Shoi2007]Tree 园丁的烦恼( 差分 + 离散化 + 树状数组 )
- BZOJ 1935 [Shoi2007]Tree 园丁的烦恼
- bzoj 1935: [Shoi2007]Tree 园丁的烦恼
- BZOJ 1935: [Shoi2007]Tree 园丁的烦恼 [树状数组 离线 离散化]
- bzoj千题计划143:bzoj1935: [Shoi2007]Tree 园丁的烦恼
- Bzoj1935 [SHOI2007]Tree 园丁的烦恼
- 【树状数组】bzoj1935 [Shoi2007]Tree 园丁的烦恼
- [BZOJ1935][SHOI2007]Tree 园丁的烦恼(离线+动态维护树状数组)
- BZOJ 1935: [Shoi2007]Tree 园丁的烦恼
- BZOJ 1935: [Shoi2007]Tree 园丁的烦恼
- 【BZOJ1935/4822】[Shoi2007]Tree 园丁的烦恼/[Cqoi2017]老C的任务 树状数组
- [bzoj1935][Shoi2007]Tree 园丁的烦恼 _树状数组
- bzoj1382 1935: [Shoi2007]Tree 园丁的烦恼
- BZOJ_P1935 [Shoi2007]Tree 园丁的烦恼(离散化+树状数组+差分思想)
- 【BZOJ】【P1935】【Shoi2007】【Tree 园丁的烦恼】【题解】【树状数组+离散化】
- bzoj 1935: [Shoi2007]Tree 园丁的烦恼
- [bzoj1935][Shoi2007]Tree 园丁的烦恼 树状数组