zoukankan      html  css  js  c++  java
  • Vijos P1512 SuperBrother打鼹鼠 (二维树状数组模板)

    gate

    二维树状数组板子?qwq

    注意下标不要从0开始

    代码如下

    #include<cstdio>
    #include<iostream>
    #include<cmath>
    #include<cstring>
    #define MogeKo qwq
    using namespace std;
    #define x1 qwqw
    #define x2 qwqwq
    #define y1 qwqwqw
    #define y2 qwqwqwq
    
    const int maxn = 1500;
    int n,m,k,x1,x2,y1,y2;
    int c[maxn][maxn];
    
    int lowbit(int x) {
        return x & (-x);
    }
    
    void update(int x,int y,int k) {
        for(int i = x; i <= n; i += lowbit(i))
            for(int j = y; j <= n; j += lowbit(j))
                c[i][j] += k;
    }
    
    int query(int x,int y) {
        int ret = 0;
        for(int i = x; i; i -= lowbit(i))
            for(int j = y; j; j -= lowbit(j))
                ret += c[i][j];
        return ret;
    }
    
    int main() {
        scanf("%d",&n);
        while(1) {
            scanf("%d",&m);
            if(m == 1) {
                scanf("%d%d%d",&x1,&y1,&k);
                update(x1+1,y1+1,k);
    
            } else if(m == 2) {
                scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
                printf("%d
    ",query(x2+1,y2+1)-query(x2+1,y1)-query(x1,y2+1)+query(x1,y1));
    
            } else if(m == 3)
                break;
        }
        return 0;
    }
    View Code
  • 相关阅读:
    多线程
    序列化
    IO流
    递归
    JAVA异常处理
    java常用类-StringBuffer,Integer,Character
    系统测试过程
    备份,健壮,文档,在线帮助,网络,稳定性测试
    异常测试/恢复性测试(可靠)
    配置测试
  • 原文地址:https://www.cnblogs.com/mogeko/p/11835021.html
Copyright © 2011-2022 走看看