图片是转载的,偶然发现的好图,感谢这位大佬
x1y1到x2y2处的值加a
x1y1处加a则如图二全+了一遍
在x1y2-1处-a,然后在x2-1y1处-a为消除影响
结果如图3,4结合其多-了a(对于图5绿色部分而言)
那+回来就好了
此处用的二维差分转一维
read(x1),read(y1),read(x2),read(y2);
sum[x1*m+y1]++;
sum[(x2+1)*m+y2+1]++;
sum[x1*m+y2+1]--;
sum[(x2+1)*m+y1]--;
与二维的区别在于把二维坐标压成一维度,其他没区别