社区讨论

为什么too many or too few lines

P2068统计和参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@mi6nul72
此快照首次捕获于
2025/11/20 07:55
4 个月前
此快照最后确认于
2025/11/20 07:55
4 个月前
查看原帖
#include #include #include using namespace std; const int MAXN=1e5+10; inline int read(){ int out=0; char c=getchar(); while(c<48||c>57) c=getchar(); while(c<=57&&c>=48){ out=(out<<1)+(out<<3)+c-48; c=getchar(); } return out; } inline void write(int x){ if(x>9) write(x/10); putchar(x%10+48); } int n; struct tree{ int c[MAXN]; inline int lowbit(int k){return k&-k;} void add(int k,int x){ while(k<=n){ c[k]+=x; k+=lowbit(k); } } int sum(int k){ int ret=0; while(k){ ret+=c[k]; k-=lowbit(k); } return ret; } int getsum(int r,int l){ return sum(r)-sum(l-1); } }t; int main(){ n=read(); int m=read(); for(int i=1;i<=m;++i){ char c=getchar(); if(c=='x'){ int k=read(); t.add(k,read()); } else{ write(t.getsum(read(),read())); putchar(10); } } return 0; }

回复

1 条回复,欢迎继续交流。

正在加载回复...