树状数组点修改+段求值

来源:互联网 发布:淘宝图片版权怎么看 编辑:程序博客网 时间:2024/06/16 11:41
#include<bits/stdc++.h>using namespace std;int n,m,x,y,z,i,s,f[100001];int main(){    scanf("%d%d",&n,&m);    for(i=1;i<=m;i++){        scanf("%d%d%d",&x,&y,&z);        if(x==1)            while(y<=n){                f[y]+=z;                y+=y&-y;            }        else{            s=0;            y--;            if(y)            while(y>0){                s-=f[y];                y-=y&-y;            }            while(z>0){                s+=f[z];                z-=z&-z;            }            printf("%d\n",s);        }    }    return 0;}
1 0
原创粉丝点击