敌兵布阵(树状数组)
来源:互联网 发布:2016年外汇储备数据 编辑:程序博客网 时间:2024/06/06 02:44
参考题解:http://gzhu-101majia.iteye.com/blog/1142115
好神奇的算法,看了一天才把这题看懂
#include <iostream>#include <cstdio>#include <cstring>using namespace std;int n,a[50000+5];char str[10];int lowbit(int i){ return i&(-i);}void update(int i,int val){ while(i<=n) { a[i]+=val; i+=lowbit(i); }}int sum(int i){ int s=0; while(i>0) { s+=a[i]; i-=lowbit(i); } return s;}int main(){ int t,val,cas=1,x,y; scanf("%d",&t); while(t--) { scanf("%d",&n); memset(a,0,sizeof(a)); for(int i=1;i<=n;i++) { scanf("%d",&val); update(i,val); } printf("Case %d:\n",cas++); while(~scanf("%s",str)) { if(str[0]=='E') break; scanf("%d%d",&x,&y); if(str[0]=='A') update(x,y); else if(str[0]=='S') update(x,-y); else printf("%d\n",sum(y)-sum(x-1)); } } return 0;}
0 0
- 敌兵布阵(树状数组)
- 敌兵布阵(树状数组)
- 敌兵布阵(树状数组)
- 敌兵布阵(树状数组)
- 敌兵布阵(树状数组)
- 敌兵布阵-树状数组
- 敌兵布阵 --- 树状数组
- 敌兵布阵 树状数组
- 树状数组--敌兵布阵
- HDOJ 敌兵布阵 (树状数组解法)
- 敌兵布阵(树状数组、线段树)
- hdu - 1166 - 敌兵布阵(树状数组)
- hdu_1166 敌兵布阵(树状数组)
- hdu 1166 敌兵布阵 (树状数组)
- HDU 1166 - 敌兵布阵(树状数组)
- hdu 1166 敌兵布阵 ( 树状数组 )
- HDU 1166 敌兵布阵(树状数组)
- hdu-1166敌兵布阵(树状数组)
- 游戏图标间的位置调换
- jQuery中DOM操作方法 之 html,text,val
- Tab底部标签切换Demo
- 快速排序(QuickSort)学习记录&个人理解
- 扫雷(java图形界面好例题)
- 敌兵布阵(树状数组)
- Linux中块设备和字符设备的区别
- 消息队列MQ技术的介绍和原理
- django构建带时区时间对象
- maven编译的报错:编码GBK的不可映射字符
- 那些高性能的SQL语句编写的事
- HTML5实现的矢量卡片式组织结构图
- Leetcode Linked List Cycle II 循环链表入口
- java_web初学笔记之<ServletConfig和ServletContext详解>