UESTC 838 —— 母仪天下(树状数组模板)
2015-04-01 22:59
281 查看
树状数组:
1、Add(x,d):让A[x]增加d
2、query(L,R):计算区间[L,R]中所有元素的和
Code:
1、Add(x,d):让A[x]增加d
2、query(L,R):计算区间[L,R]中所有元素的和
Code:
#include <iostream> #include <cstdio> using namespace std; int C[100010],n; int lowbit(int &x) { return x&(-x); } int sum(int x) { int ret = 0; while(x>0) { ret +=C[x]; x -=lowbit(x); } return ret; } void add(int x,int d) { while(x<=n) { C[x] +=d; x +=lowbit(x); } } int main() { //freopen("input.txt","r",stdin); int m,a,S,L,R; while(~scanf("%d%d",&n,&m)) { for(int i = 1; i<=n; i++) {//printf("asdfasd\n"); scanf("%d",&a); add(i,a); } for(int i = 0; i < m; i++) { scanf("%d%d%d",&S,&L,&R); if(S == 0) { int tmp = sum(R) - sum(L-1); printf("%d\n",tmp); } else { add(L,R); } } } return 0; }
相关文章推荐
- UESTC 838 母仪天下(树状数组)
- CDOJ 838 母仪天下 树状数组 (2014数据结构专题
- UESTC 842 天下归晋(树状数组)
- POJ2155【二维树状数组模板】
- 模板(线段树 + 树状数组 + 单点查询 + 区间查询)eg:HDU 1754 - I Hate It
- HDU 3966 树链剖分+树状数组 模板
- 树状数组解决区间求和问题(模板)
- c++树状数组2模板
- 树状数组模板
- HDU 1166 敌兵布阵 (我的树状数组加线段树点修改模板)
- 树状数组模板(水)
- 树状数组模板 Tree Array
- hdu 2642 二维树状数组 单点更新区间查询 模板水题
- 树状数组求逆序和模板
- P3368 【模板】树状数组 2(树状数组维护差分序列)
- 树状数组模板
- 洛谷 P3368 树状数组【模板2】
- 树状数组 (模板)
- 树状数组模板
- 树状数组的模板