1、子矩阵的和
前缀和矩阵求解公式
s[i][j]=s[i][j-1]+s[i-1][j]-s[i-1][j-1]+a[i][j];
计算子矩阵和公式
s[x2][y2] - s[x2][y1 - 1] - s[x1 - 1][y2] + s[x1 - 1][y1 - 1]
2、差分
差分可以看作是前缀和的逆运算,应用场景是在一段区间内的所有元素同时加上或减去某个相同数字。
3、差分矩阵
可以逆用前缀和矩阵求解公式
d[i][j] = a[i][j]-a[i][j-1]-a[i-1][j]+a[i-1][j-1];
d[][]:差分矩阵
a[][]:前缀和矩阵
同时加C的时候注意减去重复的部分。
d[x1][y1]+=c;
d[x1][y2+1]-=c;
d[x2+1][y1]-=c;
d[x2+1][y2+1]+=c;