洛谷位置:P3374 【模板】树状数组 1
龙哥哥OJ位置:
#include<iostream> using namespace std; const int maxn=500005; int n,m,a[maxn],c[maxn]; void change(int index,int v) { for(int i=index;i<=n;i+=i&(-i)) c[i]+=v; } int sum(int index) { int s=0; for(int i=index;i>0;i-=i&(-i)) s+=c[i]; return s; }//此处开始出错 int main() { cin>>n>>m; for(int i=1;i<=n;i++) { cin>>a[i]; change(i,a[i]); } int j,x,y,k; for(int i=1;i<=m;i++) { cin>>j; if(j==1) { cin>>x>>k; change(x,k); } else { cin>>x>>y; cout<<sum(y)-sum(x-1)<<endl; } } return 0; }