www 被大佬们吊打了,尤其是za|

wscqwq

园龄:2年粉丝:2关注:3

Pac-Takahashi

[ABC301E] Pac-Takahashi

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

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

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

注意本题填表法是不可行的,实际上你并不能确定上次是从哪个地方过来的,所以应该使用刷表法,然后枚举新增的点,就可以方便的确定了。即:

fj|2k1,k=fj,i+dis(i,k)

还要,状压 DP 必须注意顺序,如果按照 i,s 的顺序循环,答案是错误的,因为比如状态 f[(1010)2][2],f[(1000)2][4],应当先遍历后者,因为后者可能会更新前者。

本文作者:wscqwq

本文链接:https://www.cnblogs.com/wscqwq/p/17477214.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   wscqwq  阅读(29)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起