模板:二维树状数组

int tr[N][N], n, m;
void update(int x, int y, int val) {
    for (int i = x; i <= n; i += lowbit(i)) {
        for (int j = y; j <= m; j += lowbit(j)) {
            tr[i][j] += val;
        }
    }
}
int query(int x, int y) {
    int res = 0;
    while (x) {
        for (int j = y; j; j -= lowbit(j)) res += tr[x][j];
        x -= lowbit(x);
    }
    return res;
}
posted @ 2026-10-13 20:25  zxqMATT  阅读(3)  评论(0)    收藏  举报