树状数组

来源:互联网 发布:mac dock图标大小 编辑:程序博客网 时间:2024/06/05 18:35
#include<cstdio>#include<iostream>#include<cstring>using namespace std;const int N=1e3;int n,m;namespace AA{    int cc[N];    void add(int x,int v){        while(x<=n){            cc[x]+=v;x+=x&-x;        }    }    int query(int x){        int ans=0;        while(x){            ans+=cc[x];x-=x&-x;        }        return ans;    }}namespace BB{    int cc[N][N];    void add(int x,int y,int v){        for(int i=x;i<=n;i+=i&-i){            for(int j=y;j<=m;j+=j&-j){                cc[i][j]+=v;            }        }    }    int query(int x,int y){        int ans=0;        for(int i=x;i;i-=i&-i){            for(int j=y;j;j-=j&-j){                ans+=cc[i][j];            }        }        return ans;    }}int main(){    return 0;}

0 0
原创粉丝点击