hdu-See you~(二维树状数组)
来源:互联网 发布:淘宝广告自己跳出来 编辑:程序博客网 时间:2024/05/16 06:38
#include<stdio.h>#include<string.h>#include<stdlib.h>#include<iostream>#include<algorithm>using namespace std;int map[1005][1005],map1[1005][1005];;int lowbit(int x){ return x&(-x);}void add(int x,int y,int num){ for(int i = x; i <=1001; i+=lowbit(i)) for(int j = y; j <= 1001; j+=lowbit(j)) map[i][j] += num;}int getsum(int x,int y){ int res = 0; for(int i = x; i > 0; i -= lowbit(i)) for(int j = y; j > 0; j -= lowbit(j)) res += map[i][j]; return res;}int main(){ int A = 1001; int t,n,Case = 1; scanf("%d",&t); while(t--) { printf("Case %d:\n",Case++); memset(map,0,sizeof(map)); for(int i=1; i<=A; i++) for(int j=1; j<=A; j++) { add(i,j,1); map1[i][j]=1; } cin>>n; int x1,x2,y1,y2,w; while(n--) { char op; cin>>op; if(op=='A') { scanf("%d%d%d",&x1,&y1,&w); x1++,y1++; add(x1,y1,w); map1[x1][y1]+=w; } else if(op=='D') { scanf("%d%d%d",&x1,&y1,&w); x1++,y1++; if(map1[x1][y1]<w)w=map1[x1][y1]; add(x1,y1,-w); map1[x1][y1]-=w; } else if(op=='M') { scanf("%d%d%d%d%d",&x1,&y1,&x2,&y2,&w); x1++,y1++,x2++,y2++; if(map1[x1][y1]<w)w=map1[x1][y1]; add(x1,y1,-w); map1[x1][y1]-=w; add(x2,y2,w); map1[x2][y2]+=w; } else if(op=='S') { scanf("%d%d%d%d",&x1,&y1,&x2,&y2); x1++,y1++,x2++,y2++; if(x1>x2)swap(x1,x2); if(y1>y2)swap(y1,y2); int sum=getsum(x2,y2)-getsum(x2,y1-1)-getsum(x1-1,y2)+getsum(x1-1,y1-1); printf("%d\n",sum); } } }}
0 0
- hdu-See you~(二维树状数组)
- HDU 1892 See you~ 二维树状数组
- hdu 1892 see you ~(二维树状数组)
- hdu-1892-See you~ 二维树状数组
- hdu 1892 See you~(二维树状数组)
- 二维树状数组 hdu 1892 See you~
- HDU 1892 See you~ (二维树状数组)
- hdu 1892 See you~(二维树状数组)
- HDU 1892 See you~(二维树状数组)
- hdu 1892 See you~(二维树状数组)
- hdu 1892 See you~(二维树状数组)
- HDU 1892 See you~(二维树状数组 单点更新)
- See you~(二维树状数组)
- See you~(二维树状数组)
- 【树状数组+二维】杭电 hdu 1892 See you~
- HDU 1892 See you~(经典二维树状数组)
- hdu - 1892 - See you~(二维树状数组(单点修改))
- HDOJ 题目1892 See you~(二维树状数组)
- 基因算法 Genetic Algorithm
- hdu-Frosh Week(树状数组)
- 解析SGI STL 函数static void (* __set_malloc_handler(void (*__f)()))() 和其它
- 群集侦测技术Cluster Detection
- 定制你的语音识别-并行语音识别解码空间
- hdu-See you~(二维树状数组)
- 从零开始学android<RadioButton单选按钮的使用.七.>
- SQLite CC++接口介绍(二)
- 【Android UI设计与开发】第09期:Fragment+PopupWindow仿QQ空间最新版底部菜单栏
- MapReduce设计模式总结
- Java访问修饰符
- SQL Join的一些总结
- StringBuffer和StringBuilder的区别
- Hive的insert操作