差分
思路:
对一块矩形a的子矩阵全部插入某一个数。可以构造二维数组a的差分数组b,将对a的子矩阵插入c数的操作变成以下对几个数的插入:b[x1][y1]+=c,b[x2+1][y1]-=c,b[x1][y2+1]-=c,b[x2+1][y2+1]+=c。(如何求差分数组b,假定b数组为0,a数组即也为0,对b数组每个点插入b[x1][y1]+=c,b[x2+1][y1]-=c,b[x1][y2+1]-=c,b[x2+1][y2+1]+=c)对差分数组操作完之后,再将差分数组b转换成前缀和数组,即所求的数组。转换成前缀和数组的操作为(b[i][j]+=b[i-1][j]+b[i][j-1]-b[i-1][j-1])
question:
这个转换前缀和递推数组咋搞的?
for (int i = 1;i <= m;i++) {
for (int j = 1;j <= m;j++) {
b[i][j] += b[i - 1][j] + b[i][j - 1] - b[i - 1][j - 1];
}
}
前缀和:
思路:
不懂不懂,看的好烦,改天再看