HDU 1166 敌兵布阵(树状数组)
来源:互联网 发布:身份证真伪查询软件 编辑:程序博客网 时间:2024/04/30 07:55
单点更新以及查询区间和,树状数组水过。
#include <iostream>#include <stdio.h>#include <string.h>using namespace std;int n;int a[50005];int lowbit(int x){ return x&(-x);}int sum(int pos){ int ans=0; while(pos>0) { ans+=a[pos]; pos-=lowbit(pos); } return ans;}void push(int pos,int num){ while(pos<=n) { a[pos]+=num; pos+=lowbit(pos); }}int main(){ int T,k,c=1;; int x,y; char ord[10]; scanf("%d",&T); while(T--) { printf("Case %d:\n",c++); memset(a,0,sizeof(a)); scanf("%d",&n); for(int i=1;i<=n;i++) { scanf("%d",&k); push(i,k); } while(1) { scanf("%s",ord); if(ord[0]=='Q') { scanf("%d%d",&x,&y); printf("%d\n",sum(y)-sum(x-1)); } if(ord[0]=='A') { scanf("%d%d",&x,&y); push(x,y); } if(ord[0]=='S') { scanf("%d%d",&x,&y); push(x,-y); } if(ord[0]=='E') break; } } return 0;}
0 0
- hdu - 1166 - 敌兵布阵(树状数组)
- hdu 1166 敌兵布阵 (树状数组)
- HDU 1166 - 敌兵布阵(树状数组)
- hdu 1166 敌兵布阵 ( 树状数组 )
- HDU 1166 敌兵布阵(树状数组)
- hdu-1166敌兵布阵(树状数组)
- HDU 1166 敌兵布阵 (树状数组)
- hdu-1166 敌兵布阵(树状数组)
- hdu 1166 敌兵布阵(树状数组)
- hdu 1166 敌兵布阵(树状数组)
- HDU 1166 敌兵布阵(树状数组)
- HDU 1166 敌兵布阵(树状数组)
- HDU 1166 敌兵布阵 (树状数组)
- HDU 1166 敌兵布阵(树状数组)
- hdu 1166 敌兵布阵(树状数组)
- HDU 1166 敌兵布阵(树状数组)
- HDU 1166 敌兵布阵(树状数组)
- 树状数组 hdu 1166(敌兵布阵)
- python网络爬虫抓取ajax动态网页数据:以抓取KFC门店地址为例
- 协议森林09 爱的传声筒 (TCP连接)
- HTML 5
- HDU 5363(2015多校6)-Key Set(快速幂取模)
- IOS--CocoaPods的安装和使用
- HDU 1166 敌兵布阵(树状数组)
- java并发编程
- CSS的单位及css3的calc()及line-height百分比
- 禁止 WM_DROPFILES
- 企业通过CMMI5级评估之后应当做什么?EPG如何还能为企业带来更大价值?
- TCP学习(1)--报文段首部格式
- http和socket之长连接和短连接区别
- 三维重建:SLAM的尺度和方法论问题
- SVProgressHUD