Pac-Takahashi

发布时间 2023-06-13 12:42:29作者: wscqwq

[ABC301E] Pac-Takahashi

考虑到有猴子的位置最多只有 \(18\) 个,算上起点一共 \(19\) 个,然后预处理出这些位置之间的两两距离,这样复杂度不会太高。

然后考虑到可以用状压 DP 解决问题。

状态表示:\(f_{j,i}\) 表示抓到的猴子二进制 01 状态为 \(i\) 的情况下,最后到 \(j\)\(j=0\) 表示起点),而且不会继续前行至其他猴子处的最小步数。

状态转移不难想出:\(f_{s,i}=f_{s',j}+dis(i,j)\),其中 \(j\)\(i\) 相差一只猴子 \(i\)

最后需要对所有状态进行处理,计算它到终点的最短距离,看是否合法就行了。