一维差分:
给定数组A,B。有B[1]=A[1],B[l]=A[l]-A[l-1].则称B数组为A数组的差分数组,同时A数组是B数组的前缀和数组。即前缀和与差分是互逆运算。
给A数组区间[l,r]每个数加上c,则其差分序列变化为B[l]加上c,B[r+1]减去c。
将原序列的区间操作转化为差分序列的单点操作进行计算,降低难度。
给区间[l, r]中的每个数加上c:B[l] += c, B[r + 1] -= c
二维差分:
二维差分的公式:a[i,j]为前缀和数组,p[i,j]为差分数组。
给以(x1, y1)为左上角,(x2, y2)为右下角的子矩阵中的所有元素加上c:
B[x1, y1] += c, B[x2 + 1, y1] -= c, B[x1, y2 + 1] -= c, B[x2 + 1, y2 + 1] += c
本文详细介绍了差分数组的概念,包括一维差分的基本性质和运算转换,以及二维差分的公式。通过差分可以简化区间操作,将区间加法转化为单点修改,降低计算复杂度。同时,展示了二维矩阵中子区域元素加法操作的差分更新规则。
1184

被折叠的 条评论
为什么被折叠?



