zoukankan      html  css  js  c++  java
  • poj2155二维树状数组区间更新

    垃圾poj又交不上题了,也不知道自己写的对不对

    /*
    给定一个矩阵,初始化为0:两种操作
    第一种把一块子矩阵里的值翻转:0->1,1->0
    第二种询问某个单元的值
    直接累计单元格被覆盖的次数,如果被覆盖奇数次就是1,被覆盖偶数次就是0
    树状数组解区间更新。。
    */
    #include<iostream>
    #include<cstring>
    #include<cstdio>
    #include<algorithm>
    using namespace std;
    #define maxn 1005
    int bit[maxn][maxn],n,q;
    void add(int x,int y,int num){
        for(int i=x;i<=n;i+=i&-i)
            for(int j=y;j<=n;j+=j&-j)
                bit[i][j]+=num;
    }
    int query(int x,int y){
        int res=0;
        for(int i=x;i;i-=i&-i)
            for(int j=y;j;j-=j&-j)
                res+=bit[i][j];
        return res;
    }
    int main(){
        int t,x1,x2,y1,y2;
        char op[2];
        scanf("%d",&t);
        while(t--){
            scanf("%d%d",&n,&q);
            while(q--){
                scanf("%s",&op);
                if(op[0]=='C'){
                    scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
                    add(x1,y1,1);add(x1,y2+1,1);
                    add(x2+1,y1,1);add(x2+1,y2+1,1);
                }
                else {
                    scanf("%d%d",&x1,&y1);
                    printf("%d
    ",query(x1,y1)%2);
                }
            }
            printf("
    ");
        }
    }
  • 相关阅读:
    Java IO总结
    Tomcat处理一个HTTP请求的过程
    Tomcat的web项目部署方式
    Tomcat性能调优
    jquery基础知识汇总
    Javascript中的正则表达式
    HTTP首部
    HTTPS
    Javascript中关于cookie的那些事儿
    HTTP请求方法详解
  • 原文地址:https://www.cnblogs.com/zsben991126/p/10084681.html
Copyright © 2011-2022 走看看