hdu1166 线段树
来源:互联网 发布:天谕玉虚萝莉捏脸数据 编辑:程序博客网 时间:2024/05/05 08:23
#include <cstdio> #define lson l , m , rt << 1#define rson m + 1 , r , rt << 1 | 1const int maxn = 55555;int sum[maxn<<2];void PushUP(int rt) {sum[rt] = sum[rt<<1] + sum[rt<<1|1];}void build(int l,int r,int rt) {if (l == r) {scanf("%d",&sum[rt]);return ;}int m = (l + r) >> 1;build(lson);build(rson);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) >> 1;if (p <= m) update(p , add , lson);else update(p , add , rson);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) >> 1;int ret = 0;if (L <= m) ret += query(L , R , lson);if (R > m) ret += query(L , R , rson);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;}
0 0
- HDU1166 线段树入门
- 初步线段树 hdu1166
- hdu1166 线段树
- hdu1166线段树
- hdu1166之线段树
- hdu1166 简单线段树
- 线段树之hdu1166
- hdu1166--简单线段树
- Hdu1166-- 线段树模板
- hdu1166简单线段树
- hdu1166(线段树)
- hdu1166 线段树
- hdu1166(线段树)
- 线段树模板 hdu1166
- hdu1166线段树
- 线段树hdu1166
- 线段树hdu1166
- hdu1166 线段树
- error LNK2028 C++调用C++ dll过程中
- 5.3.5 Convert Sorted List to Binary Search Tree
- 让他人物特天热问题
- hdu1569
- 规范电饭锅热奋斗给对方热尔请问请问
- hdu1166 线段树
- LeetCode2.1.20 @ Set Matrix Zeroes 矩阵部分元素置零 D3F5
- 第三方士大夫特人以及法国恢复规划
- 微信开发调试工具
- 5.3.4 Convert Sorted Array to Binary Search Tree
- JAVA学习目录
- hdu1532 网络流
- hdu3549 网络流
- 放大光大大厦嘎斯的