模板:二维树状数组
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;
}

浙公网安备 33010602011771号