hdu2642
来源:互联网 发布:东方网络002175股吧 编辑:程序博客网 时间:2024/06/08 15:51
Stars
Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/65536 K (Java/Others)Total Submission(s): 1808 Accepted Submission(s): 769
To make the problem easier,we considerate the sky is a two-dimension plane.Sometimes the star will be bright and sometimes the star will be dim.At first,there is no bright star in the sky,then some information will be given as "B x y" where 'B' represent bright and x represent the X coordinate and y represent the Y coordinate means the star at (x,y) is bright,And the 'D' in "D x y" mean the star at(x,y) is dim.When get a query as "Q X1 X2 Y1 Y2",you should tell Yifenfei how many bright stars there are in the region correspond X1,X2,Y1,Y2.
There is only one case.
each line start with a operational character.
if the character is B or D,then two integer X,Y (0 <=X,Y<= 1000)followed.
if the character is Q then four integer X1,X2,Y1,Y2(0 <=X1,X2,Y1,Y2<= 1000) followed.
5B 581 145B 581 145Q 0 600 0 200D 581 145Q 0 600 0 200
10
题意分析:二维树状数组
AC代码:
#include<iostream>#include<algorithm>#include<cstdio>#include<stdio.h>#include<cstring>#include<string.h>using namespace std;bool vis[1002][1002];int c[1002][1002];inline int lowbit(const int &t){ return t&(-t);}void add(const int &x,const int &y,const int &num){ int i,j; for(i=x;i<=1001;i+=lowbit(i)) for(j=y;j<=1001;j+=lowbit(j)) c[i][j]+=num;}int getsum(const int &x,const int &y){ int sum=0,i,j; for(i=x;i>0;i-=lowbit(i)) for(j=y;j>0;j-=lowbit(j)) sum+=c[i][j]; return sum;}int main(){ char str[3]; int cas,x1,y1,x2,y2,xmin,xmax,ymin,ymax; scanf("%d",&cas); while(cas--) { scanf("%s",str); if(str[0]=='Q') { scanf("%d%d%d%d",&x1,&x2,&y1,&y2); x1++;y1++;x2++;y2++; xmin=min(x1,x2); xmax=max(x1,x2); ymin=min(y1,y2); ymax=max(y1,y2); printf("%d\n",getsum(xmax,ymax)-getsum(xmin-1,ymax)-getsum(xmax,ymin-1)+getsum(xmin-1,ymin-1)); } else { scanf("%d%d",&x1,&y1); x1++;y1++; if(str[0]=='B') { if(vis[x1][y1]==false) { vis[x1][y1]=true; add(x1,y1,1); } } else { if(vis[x1][y1]) { vis[x1][y1]=false; add(x1,y1,-1); } } } } return 0;}
- hdu2642
- hdu2642 二维树状组
- Stars--升级版 hdu2642
- 二维树状数组hdu2642
- HDU2642 Stars 二维树状数组
- hdu2642之二维树状数组
- HDU2642 Stars【二维树状数组】
- HDU2642 Stars 二维树状数组
- hdu2642 Stars 二维树状数组
- 树状数组(二维)例题 HDU2642——Stars
- hdu2642二维树状数组单点更新+区间查询
- hdu2642-二维树状数组 单点更新 区间查询
- HDU2642(容斥定理+二维树状数组)
- HDU_Steps9.2 杂题 HDU2052 HDU1871 HDU1254 HDU3350 HDU3234 HDU2642 HDU2833 HDU3483
- Hive的配置
- 剑指offer_常用编程技巧总结
- 图论练习题
- BZOJ1827 奶牛大集会
- LeetCode周练Contest-36代码解析(C++)
- hdu2642
- D(背)P(包)专题
- 【暑假复习】【搜索】AOJ0558:Cheese
- 数据库期末复习笔记
- Spring+Ehcache配置使用
- bzoj1845: [Cqoi2005] 三角形面积并
- C++设计模式之简单工厂模式
- HTTP安全请求头 --- 可能绕waf的姿势
- FILE操作