菱形求和 Method 1 考虑每次中心由 (x,y)⇒(x,y+1)(x,y) \rArr (x,y+1)(x,y)⇒(x,y+1) 的变化情况 如图1-1中所示 所以可以考虑用前缀和维护斜向的格子,O(1)O(1)O(1) 的进行转移 (x,y)⇒(x+1,y)(x,y) \rArr (x+1,y)(x,y)⇒(x+1,y) 同理 Method 2 前置知识 切比雪夫距离 考虑点 (x,y)(x,y)(x,y),将所有的点 (x,y)⇒(x+y,x−y)(x,y)\rArr (x+y,x-y)(x,y)⇒(x+y,x−y) 表示 此时,原来两点 (x1,y1),(x2,y2)(x_1,y_1),(x_2,y_2)(x1,y1),(x2,y2) 之间的曼哈顿距离 ∣x1−x2∣+∣y1−y2∣|x_1-x_2|+|y_1-y_2|∣x1−x2∣+∣y1−y2∣ 转化为 max(∣x1−x2∣,∣y1−y2∣)\max(|x_1-x_2|,|y_1-y_2|)max(∣x1−x2∣,∣y1−y2∣) 思路 然后就是板子 ...