传送门:CF667D
题解
vector g [ x ] \text{vector}g[x] vectorg[x]存值为 x x x的点的坐标集合, d p [ i ] [ j ] dp[i][j] dp[i][j]表示到点 ( i , j ) (i,j) (i,j)最小值。
暴力是 O ( n 4 ) O(n^4) O(n4)的。
设
k
=
n
m
k=\sqrt {nm}
k=nm
分类讨论可以将复杂度降到
O
(
n
3
)
O(n^3)
O(n3),考虑合理运用两种转移方式:
当
g
[
x
]
.
s
i
z
e
(
)
≤
k
g[x].size()\leq k
g[x].size()≤k时,直接暴力枚举,否则
B
F
S
BFS
BFS全局。