#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;
}
树状数组点修改+段求值
最新推荐文章于 2023-09-09 19:02:25 发布