树状数组
2016-03-30 11:20
253 查看
描述
具体做法维基百科
树状数组是一种修改某个元素以及查询区间和的数据结构,Modify()与Query()两种操作的复杂度都是O(logn)。
模版
struct binaryIndexedTree { #define lowbit(x) ((x)&-(x)) int c[maxn]; void modify(int x, int v) { for (int i = x; i <= maxn; i += lowbit(i)) c[i] += v; } int query(int x) { int ret = 0; for (int i = x; i > 0; i -= lowbit(i)) sum += c[i]; return ret; } };
相关文章推荐
- Codeforces Coder-Strike 2014 - Finals (online edition, Div. 1)
- HDU 1166 敌兵布阵
- POJ 2352 Stars
- PAT 1057 Stack (30)
- neu 1438 树状数组求逆序数
- poj 2352
- 树状数组
- hdu 4630 No Pain No Game 树状数组
- 树状数组区间求和的三种模型
- HDOJ1166 敌兵布阵 树状数组
- 二维树状数组
- Hoj 2275 Number Sequence
- POJ3321 Apple Tree
- BZOJ2434 [Noi2011]阿狸的打字机【AC自动机+dfs序+树状数组】
- HDU 3015
- hdu 5147
- 【转载】区间信息的维护与查询(一)——二叉索引树(Fenwick树、树状数组)
- codeforces628 E. Zbazi in Zeydabad 选择枚举对象+用顺序减少重复计算+树状数组优化
- 树状数组模板
- HLG 1400 汽车比赛