二维树状数组模板
2017-05-31 23:01
274 查看
#include<iostream> #include<string.h> #include<stdio.h> using namespace std; const int maxn=1e3+10; int c[maxn][maxn]; int n,t; int lowbit(int x) { return x&-x; } void add(int x,int y,int num) { for(int i=x;i<=n;i+=lowbit(i)) { for(int j=y;j<=n;j+=lowbit(j)) c[i][j]+=num; } return ; } int sum(int x,int y) { int ans=0; for(int i=x;i>0;i-=lowbit(i)) { for(int j=y;j>0;j-=lowbit(j)) ans+=c[i][j]; } return ans; } int main() { int x; char s[10]; int x1,y1,x2,y2; scanf("%d",&x); while(x--) { memset(c,0,sizeof(c)); scanf("%d %d",&n,&t); for(int i=1;i<=t;i++) { scanf("%s%d%d",s,&x1,&y1); if(s[0]=='C') { scanf("%d %d",&x2,&y2); add(x1,y1,1); add(x1,y2+1,-1); add(x2+1,y1,-1); add(x2+1,y2+1,1); } else if(s[0]=='Q') { printf("%d\n",sum(x1,y1)%2); } } puts(""); } return 0; }
相关文章推荐
- 二维树状数组模板
- hdu 2642二维树状数组 单点更新区间查询 模板题
- 二维树状数组模板
- hdu 2642 二维树状数组 单点更新区间查询 模板水题
- poj 1195 (二维树状数组入门,模板题)
- Mobile phones POJ1195(二维树状数组模板题)
- 模板:二维树状数组 【洛谷P4054】 [JSOI2009]计数问题
- 【HDU5892 2016 ACM ICPC Asia Regional Shenyang Online A】【二维树状数组模板 区间修改】nn矩阵内子矩阵中各怪兽数量的奇偶性.cpp
- 树状数组的模板(一维和二维)
- 二维树状数组模板
- 二维树状数组模板
- bzoj 3132 上帝造题的七分钟(二维树状数组区间修改区间查询模板)
- 文章标题 POJ 1195 :Mobile phones(二维树状数组 模板)
- 树状数组的讲解感觉挺好,和我的一维,二维,树状数组的模板,希望对大家有用
- 【模板】二维树状数组
- 二维树状数组模板(1892)
- 【树状数组】树状数组一维二维模板
- 【二维树状数组】【模板】poj1195Mobile phones
- poj 1195 二维树状数组 及二维树状数组模板
- HDU 2642(树状数组模板二维)