为什么我热死了

P3374 【模板】树状数组 1

那您这样写 sum 函数有啥意义……
by Aleph1022 @ 2019-08-17 22:47:07


@[初嫁QAQ](/space/show?uid=102028) 热死了可还行 另外统计答案不是相减吗 这个写法还是第一次见
by Jelly_Goat @ 2019-08-17 22:47:52


```cpp #include <cstdio> int n,m,x,l,r,tree[550000]; int sum(int x){ int s=0; while(x!=0){s+=tree[x];x-=x&(-x);} return s; } void add(int x,int k){ while(x<=n){tree[x]+=k;x+=x&(-x);} } int main(){ scanf("%d%d",&n,&m); for(int i=1;i<=n;++i){scanf("%d",&x);add(i,x);} for(int i=1;i<=m;++i){ scanf("%d%d%d",&x,&l,&r); if(x==1)add(l,r);else printf("%d\n",sum(r)-sum(l-1)); } return 0; } ``` sum函数的下标是做到零停止。
by 我的天空 @ 2019-08-17 22:56:24


我劝你一句,老老实实把代码写完全,别老想着一句代码干三句的事
by 我的天空 @ 2019-08-17 23:00:03


@[我的天空](/space/show?uid=94712) 太强了,大佬吊打我OTZ Orz orz
by Thaumaturge @ 2019-09-19 13:50:25


|