P3374 模板树状数组 1
Posted lightyachoo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P3374 模板树状数组 1相关的知识,希望对你有一定的参考价值。
P3374 【模板】树状数组 1
#include<bits/stdc++.h> using namespace std; const int N=5e5+10; int n,m; int a[N]; int c[N<<2]; int lowbit(int x){ return x&-x; } void updata(int x,int k){ while(x<=n){ c[x]+=k; x+=lowbit(x); } } int getsum(int x){ int ans=0; while(x){ ans+=c[x]; x-=lowbit(x); } return ans; } int main(){ scanf("%d%d",&n,&m); for(int i=1;i<=n;i++){ scanf("%d",&a[i]); updata(i,a[i]); } for(int i=1;i<=m;i++){ int go; scanf("%d",&go); if(go==1){ int x,y; scanf("%d%d",&x,&y); updata(x,y); } if(go==2){ int x,y; scanf("%d%d",&x,&y); printf("%d ",getsum(y)-getsum(x-1)); } } return 0; }
以上是关于P3374 模板树状数组 1的主要内容,如果未能解决你的问题,请参考以下文章