题意
n × n n\times n n×n 的棋盘,每格或黑或白.
无法互达: 找不到一条包含起点终点、仅由黑色格子构成,且最多转向一次的路径。
S p e c i a l p a i r Special\ pair Special pair: 两个无法互达的黑色格子.
一个 S p e c i a l p a i r Special\ pair Special pair 的得分为两个格子的曼哈顿距离.
求最大得分,及有多少
S
p
e
c
i
a
l
p
a
i
r
Special\ pair
Special pair 达到这个得分.
子任务一
(
30
p
t
s
)
(30pts)
(30pts):
n
≤
200
n\le 200
n≤200.
子任务二 ( 30 p t s ) (30pts) (30pts): n ≤ 500 n\le 500 n≤500.
子任务三 ( 40 p t s ) (40pts) (40pts): n ≤ 2000 n\le 2000 n≤2000.
对所有数据, T ≤ 10 T\le 10 T≤10, 保证答案小于 2147483647 2147483647 2147483647.
题解
发现一个比较诡异的问题:两个格子越远,似乎越有机会成为 S p e c i a l p a i r Special\ pair Special pair 。于是猜想最远的 S p e c i a l p a i r Special\ pair Special pair中,一定有边缘(是所在的行/列的最边缘的黑格)的点。通过画图可以证明,如果一对 S p e c i a l p a i r Special\ pair Special pair的两个点都不是边缘点,那么可以找到更远的 S p e c i a l p a i r Special\ pair Special pair。于是若两个点都是边缘点,由于边缘点数是 O ( n ) O(n) O(n)的,直接枚举所有边缘点判断即可;否则,考虑对于一个边缘点和一个非边缘点,在非边缘点到边缘点的矩形的边缘点所在的矩形一定有白点,所以枚举非边缘点,判它所在的行、列的第一个白点与该点的矩形的左上角的左上的横、纵坐标之和最小的点,一个DP即可做完。因为要考虑不同方向,故将整个矩形翻转四次即可。