- C24yechenxi's blog
【数据结构】树状数组:模板
- @ 2026-6-3 17:08:03
typedef long long ll;
const int N = 5e5 + 5;
ll n, m;
ll tree[N], arr[N];
ll lowbit_(int x){
return x & -x;
}
void update(int p, int x) {
for(; p <= n; p += lowbit_(p)) tree[p] += x;
}
int sum(int p){//find the prefix.
int ans = 0;
for(;x ; x -= lowbit_(x)) ans += tree[x];
return ans;
}
void make_trArray(){//link plus.
for(int i = 1;i <= n;i++) {//copy the array
tree[i] = arr[i];
}
for(int i = 1;i <= n;i++) {
int j = i + lowbit_(i);
if(j <= n) tree[j] += tree[i];
}
}