|
#include<iostream>
#include<cstdio> #include<string> using namespace std; class hhh{ public: int rc,lc; long long int sum; }a[1000010]={0}; void init(int lc,int rc,int root) { a[root].rc=rc; a[root].lc=lc; if(rc==lc) return; int mid=(lc+rc)/2; init(lc,mid,root*2); init(mid+1,rc,root*2+1); } void add(int root,int d,int k) { a[root].sum+=d; if(a[root].rc==a[root].lc) return; int mid=(a[root].rc+a[root].lc)/2; if(k<=mid) add(root*2,d,k); if(k>=mid+1) add(root*2+1,d,k); } long long summ(int root,int lc,int rc) { if(a[root].lc==lc&&a[root].rc==rc) return a[root].sum; int mid=(a[root].lc+a[root].rc)/2; if(rc<=mid) return summ(root*2,lc,rc); if(lc>=mid+1) return summ(root*2+1,lc,rc); return summ(root*2,lc,mid)+summ(root*2+1,mid+1,rc); } int main() { string c; freopen("shulie.in","r",stdin); freopen("shulie.out","w",stdout); int b,n,m; cin>>n; init(1,n,1); for(int i=1;i<=n;i++) { cin>>b; add(1,b,i); } cin>>m; for(int i=1;i<=m;i++) { cin>>c; if(c=="ADD") { int x,y; cin>>x>>y; add(1,y,x); } if(c=="SUM") { int x,y; cin>>x>>y; cout<<summ(1,x,y)<<' '; } } return 0; }
题目 264 数列操作A
2016-10-18 19:25:05
|
|
题目 264 数列操作A
2016-10-18 19:23:09
|
|
话说从读入就开始写错……整个人都不好了,从dijitra改成floyed,然后发现有一个“1”写成了“2”……
|
|
海伦凯勒大爷生快!
题目 2501 [Keller战记·前传] keller的业火轮
2016-10-18 19:06:14
|
|
祝明天生快
题目 2501 [Keller战记·前传] keller的业火轮
2016-10-18 18:51:21
|
|
爆int了......身败名裂......
题目 2503 [keller战记·前传]keller的天雷鼓
2016-10-18 18:43:42
|
|
题目 2501 [Keller战记·前传] keller的业火轮
2016-10-18 18:37:52
|
|
在一旁像看傻子一样的YMY大神实在看不下去了 蛤蛤蛤
题目 2504 [keller战记·前传]keller的水灵鲤
2016-10-18 18:36:45
|
|
题目 2501 [Keller战记·前传] keller的业火轮
2016-10-18 18:35:03
|
|
VIP 欢迎各位dalao来水Keller的生日祭水题赛~讲道理应该明天再发的但是还是提前一天吧,切题顺序从2501~2504,难度飘忽不定,星级仅供参考,dalao欢迎AK~
题目 2504 [keller战记·前传]keller的水灵鲤
2016-10-18 18:33:52
|
|
%%%
题目 2502 [keller战记·前传]keller的风转符
2016-10-18 18:32:53
|
|
我天竟然错了。。。。。。
|
|
无聊
|
|
普及组题不会写。俺收拾东西回老家卖红薯了。
|
|
后缀自动机前来报个到....内存开不下qaq
|
|
进入2s,强势登上榜首
|
|
噗怎么都是赢
|
|
QAQ 我对着一个没有下载的数据调了半天 //千分纪念下吧。。。
|
|
乱搞可过= =
|
|
ac
|