菱形求和

Method 1

考虑每次中心由 (x,y)(x,y+1)(x,y) \rArr (x,y+1) 的变化情况

如图1-1中所示

所以可以考虑用前缀和维护斜向的格子,O(1)O(1) 的进行转移

(x,y)(x+1,y)(x,y) \rArr (x+1,y) 同理

Method 2

前置知识 切比雪夫距离

考虑点 (x,y)(x,y),将所有的点 (x,y)(x+y,xy)(x,y)\rArr (x+y,x-y) 表示

此时,原来两点 (x1,y1),(x2,y2)(x_1,y_1),(x_2,y_2) 之间的曼哈顿距离 x1x2+y1y2|x_1-x_2|+|y_1-y_2| 转化为 max(x1x2,y1y2)\max(|x_1-x_2|,|y_1-y_2|)

思路

然后就是板子题了,注意数组大小和边界情况