hdu1166敌兵布阵
来源:互联网 发布:淘宝免费流量获取途径 编辑:程序博客网 时间:2024/05/29 13:25
树状数组裸题,区间查询,区间加,区间减
#include<cstdio>#include<cstring>#include<iostream>#include<cmath>#include<string>#include<map>#include<vector>using namespace std;const int maxn = 50010;int T,n,a[maxn],b[maxn];string cmd;int lowbit(int x){ return x&(-x);}void add(int i,int x){ while(i<=n) { b[i]+=x; i+=lowbit(i); }}int sum(int x){ int sum=0; while(x) { sum+=b[x]; x-=lowbit(x); } return sum;}void reduce(int i,int x){ while(i<=n) { b[i]-=x; i+=lowbit(i); }}int main(){ scanf("%d",&T); int kas=1; while(T--) { printf("Case %d:\n",kas++); memset(b,0,sizeof(b)); memset(a,0,sizeof(a)); scanf("%d",&n); for(int i=1; i<=n; i++) { scanf("%d",&a[i]); add(i,a[i]); } while(cin>>cmd) { int a,b; if(cmd=="End") break; if(cmd=="Query") { scanf("%d %d",&a,&b); printf("%d\n",sum(b)-sum(a-1)); } else if(cmd=="Add") { scanf("%d %d",&a,&b); add(a,b); } else if(cmd=="Sub") { scanf("%d %d",&a,&b); reduce(a,b); } } } return 0;}
0 0
- hdu1166 敌兵布阵
- hdu1166 敌兵布阵
- HDU1166 敌兵布阵
- hdu1166 敌兵布阵
- hdu1166 敌兵布阵
- hdu1166(敌兵布阵)
- HDU1166:敌兵布阵
- hdu1166敌兵布阵
- HDU1166--敌兵布阵
- HDU1166 敌兵布阵
- hdu1166 敌兵布阵
- hdu1166 敌兵布阵
- hdu1166敌兵布阵
- hdu1166敌兵布阵
- hdu1166 敌兵布阵
- HDU1166 敌兵布阵
- hdu1166 敌兵布阵
- hdu1166敌兵布阵
- <Boost> 正則表達式boost::regex
- 博客迁移
- 23自定义日志工具(分割线)
- Visual SVN的hook脚本(windows版)
- Android HttpClient GET或者POST请求基本使用方法
- hdu1166敌兵布阵
- 这款应用能让你与同一WiFi网络的人匿名聊天
- xx.pch': No such file or directory错误解决
- ADI 15款常用的运算放大器的对比学习
- 即时成像相机有了新发展 收据纸上印照片
- 12.25
- C#中的委托和事件
- debug模式进行调试时出现:reason:absent line number informat错误
- 马云宣布告别微信 力邀大V加入“来往”