社区讨论
求助*2,树状数组 70分
P3374【模板】树状数组 1参与者 3已保存回复 4
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 4 条
- 当前快照
- 1 份
- 快照标识符
- @lobu311s
- 此快照首次捕获于
- 2023/10/30 02:57 2 年前
- 此快照最后确认于
- 2023/11/04 07:23 2 年前
CPP
#include<bits/stdc++.h>
#define ll long long
#define in inline
#define reint register int
using namespace std;
int n,m,c[2000100];
in int read(){int h=0,f=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch<='9')h=h*10+ch-'0',ch=getchar();return h*f;}
in void add(int x,int d){for(reint i=x;i<=n;i+=i&-i)c[i]+=d;}
in ll ask(int x){
ll h=0;
for(reint i=x;i;i-=i&-i)h+=c[i];
return h;
}
int main(){
n=read();
m=read();
for(reint i=1,x;i<=m;i++){
x=read();
add(i,x);
}
for(reint i=1,x,y,t;i<=m;i++){
t=read(),x=read(),y=read();
if(t==1)add(x,y);
else{
if(x>y)swap(x,y);
cout<<ask(y)-ask(x-1)<<endl;
}
}
return 0;
}
舅舅孩子...
回复
共 4 条回复,欢迎继续交流。
正在加载回复...