将前缀和数组声明为全局变量,这样默认初始化为0
- s 为前缀和数组,a 为原数组
一维前缀和
- 求前缀和数组公式:s[i] = s[i - 1] + a[i];
- 求区间和公式:sum[L~R] = sum[R] + sum[L - 1];
二维前缀和
- 求前缀和数组公式:s[i, j] = s[i, j - 1] + s[i - 1, j] - s[i - 1, j - 1] + a[i, j];
- 求子矩阵和公式:sum = s[x2, y2] - s[x1 - 1, y2] - s[x2, y1 - 1] + s[x1 - 1, y1 - 1];
((x1, y1) 和 (x2, y2) 分别表示所求子矩阵的左上角坐标和右下角坐标)
If you have any questions,please feel free to communicate with me.