Skip to content

差分

一维差分

模板题:797. 差分 - AcWing题库

给数组 b 的区间 [l,r] 中的每个数加上 c

C++
b[l] += c;
b[r + 1] -= c
b[l] += c;
b[r + 1] -= c

二维差分

模板题:798. 差分矩阵 - AcWing题库

给矩阵 b 中以 (x1,y1) 为左上角,(x2,y2) 为右下角的子矩阵中的所有元素加上 c

C++
b[x1][y1] += c;
b[x2 + 1][y1] -= c;
b[x1][y2 + 1] -= c;
b[x2 + 1][y2 + 1] += c;
b[x1][y1] += c;
b[x2 + 1][y1] -= c;
b[x1][y2 + 1] -= c;
b[x2 + 1][y2 + 1] += c;