hdu-1166 敌兵布阵 树状数组
来源:互联网 发布:刘知白山水画 编辑:程序博客网 时间:2024/06/16 11:11
不多说,去年就做过的题,复习线段树顺手用树状数组搞一发
#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <queue>#include <algorithm>#define maxn 55000using namespace std;int a[maxn],n;int bit(int k){return k&(-k);//二进制 }int sum(int k){int ans=0;while(k>0){ans+=a[k];k-=bit(k);}return ans;//计算区间和 }void up(int x,int k){while(x<=n){a[x]+=k;x+=bit(x);}}int main(){int t;int p,q;char s[1001];scanf("%d",&t);for(int k=1;k<=t;k++){scanf("%d",&n);memset(a,0,sizeof(a));for(int i=1;i<=n;i++){scanf("%d",&p);up(i,p);}printf("Case %d:\n",k);while(scanf("%s",&s)!=EOF){if(s[0]=='E'){break;}if(s[0]=='Q'){scanf("%d%d",&p,&q);printf("%d\n",sum(q)-sum(p-1)); //cout<<sum(q)<<" "<<sum(p-1)<<endl;}if(s[0]=='A'){scanf("%d%d",&p,&q);up(p,q);}if(s[0]=='S'){scanf("%d%d",&p,&q);up(p,-q);}}}return 0;}
0 0
- hdu 1166 敌兵布阵 (树状数组)
- (树状数组) hdu 1166 敌兵布阵
- HDU 1166 敌兵布阵【树状数组】
- HDU-1166-敌兵布阵(树状数组)
- hdu 1166 敌兵布阵 <树状数组>
- hdu 1166 敌兵布阵(裸树状数组)
- hdu - 1166 - 敌兵布阵(树状数组)
- hdu 1166 敌兵布阵【树状数组入门】
- hdu 1166 敌兵布阵 树状数组
- hdu hdoj 1166 敌兵布阵 树状数组
- HDU--1166 -- 敌兵布阵 [树状数组]
- hdu 1166 敌兵布阵 (树状数组)
- HDU 1166 - 敌兵布阵(树状数组)
- 树状数组-再说敌兵布阵(HDU 1166)
- hdu 1166 敌兵布阵 ( 树状数组 )
- HDU-1166 敌兵布阵 简单树状数组
- HDU 1166 敌兵布阵(树状数组)
- HDU 1166 敌兵布阵(树状数组)
- opennms启动错误
- 2014-04-19学习笔记
- rkhunter 脚本学习记录(二)
- db2 断开连接几种方法的比较
- DB2表空间的静默状态
- hdu-1166 敌兵布阵 树状数组
- strlen高效实现
- hdu 1166-敌兵布阵 线段树
- Servlet线程安全
- [LeetCode 21] Merge Two Sorted Lists Solution
- 微软笔试第8道选择题
- Android开发者必备的42个链接
- 开源java企业网站建设系统MiinCMP1.0发布!
- Ruby on Rails /MAC 下安装报错 unknown argument: '-multiply_definedsuppress'