hdu 1166 ~
来源:互联网 发布:如何改淘宝的主营类目 编辑:程序博客网 时间:2024/05/22 03:24
线段树第一步~
是找了别人的模板~~
看明天自己能不能写一遍看看~
//by Goner#include <stdio.h>const int maxn = 50010;int sum[maxn * 4];void PushUP(int rt) {sum[rt] = sum[rt * 2] + sum[rt * 2 + 1];}void build(int l, int r, int rt) {if (l == r) {scanf("%d", &sum[rt]);return ;}int m = (l + r) / 2;build(l, m, rt * 2);build(m + 1, r, rt * 2 + 1);PushUP(rt);}void update(int p, int add, int l, int r, int rt) {if (l == r) {sum[rt] += add;return ;}int m = (l + r) / 2;if (p <= m) update(p, add, l, m, rt * 2);else update(p, add, m + 1, r, rt * 2 + 1);PushUP(rt);}int query(int L,int R,int l,int r,int rt) {if (L <= l && r <= R) {return sum[rt];}int m = (l + r) / 2;int ret = 0;if (L <= m) ret += query(L , R , l, m, rt * 2);if (R > m) ret += query(L , R , m + 1, r, rt * 2 + 1);return ret;}int main() {int T , n;scanf("%d",&T);for (int cas = 1 ; cas <= T ; cas ++) {printf("Case %d:\n",cas);scanf("%d",&n);build(1 , n , 1);char op[10];while (scanf("%s",op)) {if (op[0] == 'E') break;int a , b;scanf("%d%d",&a,&b);if (op[0] == 'Q') printf("%d\n",query(a , b , 1 , n , 1));else if (op[0] == 'S') update(a , -b , 1 , n , 1);else update(a , b , 1 , n , 1);}}return 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
- Java虚拟机原理、内存分配和回收机制
- Hdu 4510 小Q系列故事——为什么时光不能倒流
- 编译osgAL
- 串口驱动分析之读写数据流
- Think in Java
- hdu 1166 ~
- c++中的重载(同一类)覆盖(不同类)
- C# WinIo获取键盘记录
- css样式表编码和HTML文档编码不一致导致样式出现异常
- 黑马程序员——java编程那些事儿____jdk1.5新特性 枚举
- 自定义HTML5 audio 播放器
- 异常CLR 无法从COM 上下文0x1a0e50 转换为COM 上下文0x1a0fc0,这种状态已持续60 秒(解决)
- java.lang.UnsupportedClassVersionError: Bad version number in .class file (unable to load class
- Hadoop开发周期(一):基础环境安装