zoukankan      html  css  js  c++  java
  • poj2155

    题目连接: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 }
  • 相关阅读:
    C# 小算法1
    函数 y=x^x的分析
    随机数
    对拍
    Cube Stack
    Permutation
    一笔画问题
    康托展开&&康托逆展开
    待完成
    小错误 17/8/10
  • 原文地址:https://www.cnblogs.com/yijiull/p/6818811.html
Copyright © 2011-2022 走看看