HDU 1166 敌兵布阵 (树状数组--单点更新,区间求值)
来源:互联网 发布:淘宝几十块的近视眼镜 编辑:程序博客网 时间:2024/06/10 12:11
OJ题目 : click here ~~~
中文的,大概题意就不说了。树状数组的水题。
忘记清空数组,导致WA,真可恨啊~~~~~~~
AC_CODE
int n;int num[50002];int lowbit(int x){ return x&(-x);}int sum(int x){ int ret = 0; while(x > 0) { ret += num[x]; x -= lowbit(x); } return ret;}void add(int x , int d){ while(x <= n) { num[x] += d; x += lowbit(x); }}int main(){ int Case; cin >> Case; for(int cas = 1;cas <= Case;cas++) { printf("Case %d:\n",cas); memset(num , 0 , sizeof(num));//为什么这个总是会忘记。。 scanf("%d",&n); int i , j , a , b; for(i = 1;i <= n;i++) { scanf("%d",&a); add(i , a); } string command; while(cin >> command) { if(command == "Query") { scanf("%d%d",&a,&b); printf("%d\n",sum(b) - sum(a - 1)); } else if(command == "Add") { scanf("%d%d",&a,&b); add(a , b); } else if(command == "Sub") { scanf("%d%d",&a,&b); add(a , -b); } else if(command == "End") break; } } return 0;}
0 0
- HDU 1166 敌兵布阵 (树状数组--单点更新,区间求值)
- 【树状数组 单点修改,区间求值】hdu 1166 敌兵布阵
- HDU 1166 敌兵布阵 数据结构+树状数组+(单点更新区间求和)
- 敌兵布阵------树状数组(单点更新与区间求和)
- HDU 1166 敌兵布阵【线段树,树状数组入门题,单点更新,区间求和】
- HDU 1166 敌兵布阵(树状数组 or 线段树 单点修改 区间求和)
- 树状数组:HDU1166敌兵布阵 【单点更新,区间查询】
- 敌兵布阵 树状数组 单点更新 区间求和
- hdu 1166 敌兵布阵(单点更新及区间求和)
- hdu 1166 敌兵布阵 (单点更新,区间求和)
- hdu1166敌兵布阵(线段树---单点更新,区间求值)
- hdu 1166 敌兵布阵(基础树状数组)(基础线段树--单点更新)
- hdu 1166 敌兵布阵 (线段树、树状数组模板,单点更新)
- HDU 1166 敌兵布阵 (树状数组 || 线段树单点更新)
- HDU 1166 敌兵布阵(树状数组||线段树单点更新)
- hdoj 1166 敌兵布阵 【单点更新+区间求和】 【线段树】 【树状数组】
- hdu 1166 敌兵布阵(单点更新)
- HDU 1166 敌兵布阵(单点更新)
- Lesson_for_java_day01---html标记大全
- Android布局文件layout.xml的一些属性值
- 抽象类合接口的区别 (abstract与interface)
- cocos2d 如何将jobject转换成jstring--以及将char*转换成java的jstring
- Android 左右椭圆形状的ProgressBar 的自定义实现
- HDU 1166 敌兵布阵 (树状数组--单点更新,区间求值)
- 黑马程序员 C语言-----数组基本概念 以及选择 冒泡排序理解
- backtrace打印堆栈的信号问题
- java.lang.NullPointerException: Expected timestamp in the Flume event headers, but it was null
- C++ map的基本操作和使用
- Thinkpad X230 安装黑苹果 Mac OSX Mavericks 10.9.2
- strcpy和memcpy的区别
- A. Line to Cashier
- 前缀表达式