您的位置:首页 > 其它

树状数组

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;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  树状数组