设为首页 加入收藏

TOP

hdu 1166
2015-07-20 17:49:08 来源: 作者: 【 】 浏览:1
Tags:hdu 1166

只是纪念1A

#include 
  
   
#include 
   
     #include 
    
      using namespace std; #define maxx 50050 int bit[maxx],a[maxx]; int n; int aa,bb; char s[10]; int sum(int i){ int s=0; while (i>0){ s+=bit[i]; i-=i&-i; } return s; } int add(int i,int x){ while(i<=n){ bit[i]+=x; i+=i&-i; } } int main(){ int T; while(scanf("%d",&T)==1){ int cases=1; while (T--){ scanf("%d",&n); memset(bit,0,sizeof(bit)); for(int i=1;i<=n;i++){ scanf("%d",&a[i]); add(i,a[i]); } printf("Case %d:\n",cases++); while(1){ scanf("%s",s); if(s[0]=='Q'){ scanf("%d%d",&aa,&bb); printf("%d\n",sum(bb)-sum(aa)+a[aa]); } else if(s[0]=='A'){ scanf("%d%d",&aa,&bb); add(aa,bb); a[aa]+=bb; } else if(s[0]=='S'){ scanf("%d%d",&aa,&bb); add(aa,-bb); a[aa]-=bb; } else if(s[0]=='E'){ break; } } } } }
    
   
  


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇poj 1961(next数组的循环节) 下一篇poj 1094 Sorting It All Out (..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Announcing October (2025-12-24 15:18:16)
·MySQL有什么推荐的学 (2025-12-24 15:18:13)
·到底应该用MySQL还是 (2025-12-24 15:18:11)
·进入Linux世界大门的 (2025-12-24 14:51:47)
·Download Linux | Li (2025-12-24 14:51:44)