树状数组
树状数组合集 - sto_5k_orz
简介
树状数组或二叉索引树(Binary Indexed Tree),又以其发明者命名为 Fenwick 树,最早由 Peter M. Fenwick 于
代码
lowbit 与数组声明
#define lowbit(i) i&-i
const int N = 1e6+5;
int bit[N];
update
void update(int a, int b) {
for (int i = a; i < N; i += i & -i)
bit[i] += b;
}
query
int query(int a) {
int res = 0;
for (int i = a; i; i -= i & -i)
res += bit[i];
return res;
}
练习题:
HH 的项链:提示与详解
乌鸦喝水:提示与详解