设a为原二维数组、c为二维前缀和、b为二维差分

1.(x1,y1)-(x2,y2)的查询用二维前缀和

二维前缀和的构造:
c[i][j] = c[i-1][j] + c[i][j-1] - c[i-1][j-1] + a[i][j]

(x1,y1)-(x2,y2)的查询:
结果 = c[x2][y2] + c[x1][y1] - c[x1][y2] - c[x2][y1]

2.(x1,y1)-(x2,y2)范围内的值++,用二维差分

二维差分数组的构建:
b[i][j] = a[i][j] + a[i-1][j-1] - a[i][j-1] - a[i-1][j]

二维差分数组的更新:(x1,y1)-(x2,y2)范围内的值++
b[x1][y1]++;
b[x2+1][y2+1]++;
b[x1][y2+1]--;
b[x2+1][y1]--;