[模板]树状数组

 1 int sum(int p){
 2     int s=0;
 3     for(int i=p;i;i-=i&(-i))s+=a[i];
 4     return s;
 5 }
 6 void add(int p,int num){
 7     for(int i=p;i<=n;i+=i&(-i))a[i]+=num;
 8 }
 9 //in main
10 if(o[0]=='A'){
11     scanf("%d%d%d",&q,&r,&nu);
12     add(q,nu);
13     add(r+1,-nu);
14 }
15 else{
16     scanf("%d",&r);
17     printf("%d\n",sum(r));
18 }
View Code

 

posted @ 2019-07-07 07:27  DeepinC  阅读(58)  评论(0编辑  收藏  举报