树状数组
这是最基础的版本,单点修改,区间查询
int n, q;
ll tree[N];
#define lowbit(x) ((x) & - (x))
void update(int x, ll d){
while(x <= n){
tree[x] += d;
x += lowbit(x);
}
}
ll sum(int x){
ll ans = 0;
while(x > 0){
ans += tree[x];
x -= lowbit(x);
}
return ans;
}

浙公网安备 33010602011771号