树状数组

//树状数组的模板
const int LEN = 1000;
int c[LEN];
int n; //数组的长度
 
int lowbit(int x) {
    return x & (-x);
}
void add(int index, int num) {
    while (index <= n) {
        c[index] += num;
        index += lowbit(index);
    }
}
int sum(int index) {
    int ans = 0;
    while (index > 0) {
        ans += c[index];
        index -= lowbit(index);
    }
    return ans;
}

你可能感兴趣的:(树状数组)