(看了y总的视频对差分浅浅的理解)
假定有a[][]数组和b[][]数组,然后a[][]数组是b[][]数组的前缀和数组,那么b[][]数组是a[][]数组的差分数组。
那么b[][]数组是a[][]数组的差分数组
差分主要还是解决怎么在规定区域加上特定的数的(个人认为)
那么“补丁”又该怎么打上呢?
b[x1][y1]+=c;b[x1][y2+1]-=c;b[x2+1][y1]-=c;b[x2+1][y2+1]+=c;
具体怎么为什么这样呢?
可以自己画个矩形看看(本人画的图太抽象了)
附上函数模板:
void insert(int x1,int y1,int x2,int y2,int c){
b[x1][y1]+=c;
b[x2+1][y1]-=c;
b[x1][y2+1]-=c;
b[x2+1][y2+1]+=c;
}