HDU2642 Stars 二维树状数组
来源:互联网 发布:淘宝直播账号出售 编辑:程序博客网 时间:2024/05/16 19:03
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2642
题目大意:Yifenfei是一个浪漫的人,他喜欢数天上的星星。为了使问题变得更容易,我们假设天空是一个二维平面,上面的星星有时会亮,有时会发暗。最开始,没有明亮的星星在天空中,然后将给出一些信息,“B XY”,其中“B”代表明亮,x代表X坐标和Y代表Y坐标是指在(X,Y)的明星是光明的,而在“D XY”'D'的意思是灰暗的星星在(X , Y).当得到“Q X1 X2 Y1 Y2”的查询,你应该告诉Yifenfei在该地区有多少明亮的星星在X1,X2,Y1,Y2决定的矩形里。
实现代码如下:
/*二维树状数组B x y:点(x,y)处的星星变亮D x y:点(x,y)处的星星变暗Q x1 x2 y1 y2:查询左下角(x1,y1)和右上角(x2,y2)的矩形*/#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int M=1010;int a[M][M];bool vis[M][M];int lowbit(int i){ return i&(-i);}void update(int x,int y,int v){ for(int i=x;i<M;i+=lowbit(i)) for(int j=y;j<M;j+=lowbit(j)) a[i][j]+=v;}int query(int x,int y){ int sum=0; for(int i=x;i>0;i-=lowbit(i)) for(int j=y;j>0;j-=lowbit(j)) sum+=a[i][j]; return sum;}int main(){ int t,x,y; char op[5]; memset(vis,0,sizeof(vis)); scanf("%d",&t); while(t--) { scanf("%s",op); if(op[0]=='B') { scanf("%d%d",&x,&y); x++; y++; if(!vis[x][y]) { vis[x][y]=true; update(x,y,1); } } else if(op[0]=='D') { scanf("%d%d",&x,&y); x++; y++; if(vis[x][y]) { vis[x][y]=false; update(x,y,-1); } } else { int x1,y1; scanf("%d%d%d%d",&x,&x1,&y,&y1); x++; y++; x1++; y1++; if(x<x1) swap(x,x1); if(y<y1) swap(y,y1); printf("%d\n",query(x,y)-query(x,y1-1)-query(x1-1,y)+query(x1-1,y1-1)); } } return 0;}
0 0
- HDU2642 Stars 二维树状数组
- HDU2642 Stars【二维树状数组】
- HDU2642 Stars 二维树状数组
- hdu2642 Stars 二维树状数组
- 树状数组(二维)例题 HDU2642——Stars
- 二维树状数组hdu2642
- hdu2642之二维树状数组
- hdu2642 二维树状组
- hduoj Stars 二维树状数组
- hdu2642二维树状数组单点更新+区间查询
- hdu2642-二维树状数组 单点更新 区间查询
- HDU2642(容斥定理+二维树状数组)
- hdu 2642stars(二维树状数组)
- HDU 2642 stars 二维树状数组
- hdu 2642 stars (二维树状数组)
- HDU 2642 Stars (二维树状数组)
- [hoj 2678]Stars[二维树状数组]
- HDU 2642 Stars(二维树状数组)
- Android学习历程之【安装】
- foj2155 - 盟国 (并查集的删除操作)
- [223]Rectangle Area
- 讨论
- 测试二知识总结
- HDU2642 Stars 二维树状数组
- php UNSIGNED ZEROFILL
- 手游创业漫话五 (我要做什么游戏 下)
- Win7平台VS2010安装Visual Assist X
- 避免带有变长参数的方法重载,别让null值和空值威胁到变长方法,覆写变长方法也循规蹈矩
- 手游创业漫话六(有效率的公司组织 上)
- c语言学习笔记(12)条件编译使用分析
- word2013中表格文档最后空白页删不掉的问题
- COGS132珍珠分对|优先队列