码迷,mamicode.com
首页 > 其他好文 > 详细

poj2155

时间:2017-05-06 23:09:59      阅读:389      评论:0      收藏:0      [点我收藏+]

标签:oid   题目   blank   clu   span   mem   --   har   pre   

题目连接:POJ - 2155

二维树状数组

 1 #include<cstdio>
 2 #include<cstring>
 3 const int maxn=1010;
 4 int n,m;
 5 int c[maxn][maxn];
 6 int lowbit(int x)
 7 {
 8     return x&(-x);
 9 }
10 void add(int x,int y)
11 {
12     for(int i=x;i<=n;i+=lowbit(i))
13         for(int j=y;j<=n;j+=lowbit(j))
14         c[i][j]++;
15 }
16 int sum(int x,int y)
17 {
18     int sum=0;
19     for(int i=x;i>=1;i-=lowbit(i))
20         for(int j=y;j>=1;j-=lowbit(j))
21         sum+=c[i][j];
22     return sum;
23 }
24 int x1,y1,x2,y2;
25 int main()
26 {
27     int t;
28     char s[5];
29     scanf("%d",&t);
30     while(t--)
31     {
32         memset(c,0,sizeof(c));
33         scanf("%d%d",&n,&m);
34         for(int i=0;i<m;i++)
35         {
36             scanf("%s",s);
37             if(s[0]==C)
38             {
39                 scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
40                 add(x2+1,y2+1);
41                 add(x1,y1);
42                 add(x1,y2+1);
43                 add(x2+1,y1);
44             }
45             else
46             {
47                 scanf("%d%d",&x1,&y1);
48                 int ans=sum(x1,y1);
49                 if(ans%2) puts("1");
50                 else puts("0");
51             }
52         }
53         puts("");
54     }
55     return 0;
56 }

 

poj2155

标签:oid   题目   blank   clu   span   mem   --   har   pre   

原文地址:http://www.cnblogs.com/yijiull/p/6818811.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!