5.8
差分数组:
主要公式思想:
-
差分就是求前缀和的逆向,b[i]=a[i]-a[i-1];就是a是后面的减去前面的就是差分
-
b[i] = a[i] - a[i - 1];//构造差分数组 a[i]= b[i]+a[i-1];//还原差分数组
差分矩阵:
-
主要思想:
-
二维差分矩阵的构造:
-
b[i][j]=a[i][j]-a[i][j-1]-a[i-1][j]+a[i-1][j-1] a[i][j]=a[i][j-1]+a[i-1][j]-a[i-1][j-1]+b[i][j];
-
其次就是对于某一个区间x1,y1->x2,y2上所有加上常数c
-
核心思想
-
b[x1][y1]+=c;//x1,y1->x2,y2下所有面积+c b[x1][y2+1]-=c;//x1,y2->x2,x2下面所有区域-c; b[x2+1][y1]-=c;//x2,y1->x2,y2下面区域-c b[x2+1][y2+1]+=c;//将同时减去的共同区域+c;

图片来源