樹狀數組入門

教程地址html

int lowbit(int i) {
    return i & (-i);
}
int sum(int i) {//區間[1,i]的和
    int ans = 0;
    while (i>0) {
        ans += c[i];
        i -= lowbit(i);
    }
    return ans;
}
void insert(int i,int val) {//插入
    while (i<=N) {
        c[i] += val;
        i += lowbit(i);
    }
}
相關文章
相關標籤/搜索