【二維樹狀陣列】poj 2155 Matrix
Link:http://poj.org/problem?id=2155
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
typedef long long LL;
#define lowbit(i) (i&(-i))
const int N = 1010;
int tree[N][N];
int n;
void add(int x,int y,int val){
for(int xx = x; xx; xx -= lowbit(xx))
for(int yy = y; yy; yy -= lowbit(yy))
tree[xx][yy] += val;
}
int query(int x,int y){
int ans = 0;
for(int xx = x; xx<=n ; xx+=lowbit(xx))
for(int yy = y; yy<=n ; yy+=lowbit(yy))
ans += tree[xx][yy];
return ans;
}
int main()
{
int T,q;
scanf("%d",&T);
while(T--){
scanf("%d%d",&n,&q);
memset(tree,0,sizeof(tree));
while(q--){
getchar();
char c;
int x1,x2,y1,y2;
scanf("%c",&c);
if(c == 'C'){
scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
add(x2,y2,1);
add(x1-1,y2,-1);
add(x2,y1-1,-1);
add(x1-1,y1-1,1);
}
else{
scanf("%d%d",&x1,&y1);
printf("%d\n",query(x1,y1)%2);
}
}
if(T!=0)
puts("");
}
return 0;
}
相關文章
- 二維樹狀陣列-poj2155陣列
- POJ 2155-Matrix(二維樹狀陣列-區間修改 單點查詢)陣列
- poj 1195 二維樹狀陣列陣列
- 二維樹狀陣列--poj1195陣列
- POJ 1195 Mobile phones(二維樹狀陣列)陣列
- 二維樹狀陣列陣列
- poj 2481 樹狀陣列陣列
- POJ 3928 Ping pong(樹狀陣列)陣列
- POJ-2352 Stars(樹狀陣列)陣列
- POJ 1195-Mobile phones(二維樹狀陣列-區間更新區間查詢)陣列
- POJ 2352-Stars(樹狀陣列-星系)陣列
- POJ 3321-Apple Tree(樹狀陣列)APP陣列
- POJ 2352 Stars(簡單樹狀陣列)陣列
- HDU 6274 Master of Sequence(思維+樹狀陣列+二分)AST陣列
- HDU 1541 & POJ 2352 Stars (樹狀陣列)陣列
- POJ 3067-Japan(樹狀陣列-逆序數)陣列
- POJ 3321 Apple Tree(dfs+樹狀陣列)APP陣列
- 樹狀陣列陣列
- POJ 3928-Ping pong(樹狀陣列+加/乘法原理)陣列
- POJ3321 Apple Tree(DFS序 + 樹狀陣列)APP陣列
- hdu 4368 樹狀陣列 離線維護陣列
- POJ 2299-Ultra-QuickSort(樹狀陣列求逆序數)UI陣列
- 解析樹狀陣列陣列
- JavaSE 陣列:一維陣列&二維陣列Java陣列
- [php]運用變數引用實現一維陣列轉多維樹狀陣列PHP變數陣列
- POJ 3233 Matrix Power Series(矩陣+二分)矩陣
- POJ3468 A Simple Problem with Integers---樹狀陣列(區間問題)陣列
- POJ 2352(順路講解一下樹狀陣列)陣列
- POJ 3468 【區間修改+區間查詢 樹狀陣列 | 線段樹 | 分塊】陣列
- POJ 3233 Matrix Power Series (矩陣快速冪+等比數列二分求和)矩陣
- 樹狀陣列詳解陣列
- 樹狀陣列基礎陣列
- hdu 3874 樹狀陣列陣列
- 二維陣列陣列
- js 一維陣列轉二維陣列JS陣列
- js 二維陣列轉一維陣列JS陣列
- PHP二維陣列轉一維陣列PHP陣列
- 【樹狀陣列 求比其小的個數】poj 2353 Stars陣列