原数组a[i],差分数组b[i] = a[i] - a[i-1],b数组是a数组的差分,a数组是b数组的前缀和。
一维差分
令[ l ,r ] 区间加上 x ,因为a数组是b数组的前缀和
可以让 b[l] += x ,b[r+1] -= x
二维差分
给以(x1, y1)为左上角,(x2, y2)为右下角的子矩阵中的所有元素加上 x
S[x1, y1] += x, S[x2 + 1, y1] -= x, S[x1, y2 + 1] -= x, S[x2 + 1, y2 + 1] += x
很好理解,因为在包含(x2+1, y2+1)右下角区域被多减了一次,所以在(x2+1, y2+1)点加一次