看看内层循环的j是否有问题,一定要在第一层循环内初始化!
应该只有本蒟蒻用x,y当变量调了一天吧……
void update(int x, int y, T c) {
for (; x <= n; x += lowbit(x)) {
for (; y <= m; y += lowbit(y)) {
t[x][y] += c;
}
}
}
应为:
void update(int x, int y, T c) {
for (int i = x; i <= n; i += lowbit(i)) {
for (int j = y; j <= m; j += lowbit(j)) {
t[i][j] += c;
}
}
}