LG-P9119 [春季测试 2023] 圣诞树 Solution

更好的阅读体验戳此进入

游记戳此进入

题面

给定平面内凸包,最小化从其最高点开始的任意哈密尔顿路径(认为任意两点之间均可到达)的欧几里得距离,输出最小化的方案。存在 SPJ。

Solution

首先对于 n18,不难发现其为经典的 TSP 问题,状压后简单转移一下即可。对于性质 B,顺序输出即可。对于性质 A,目前没想到什么正确的思路。

考虑正解,发现对于任意两条路径一定不相交,证明是显然的,考虑任意四个点:

2023_03_06_1

显然由于三角形两边之和大于第三边,前者一定优于后者。

所以对于逆时针给定的若干个点,当处于 i 时,最优决策一定只能是下一步到 i1i+1,否则将会存在一个点被隔离,导致最终去往该点时一定形成交叉路径。

于是此时问题显然地转化为了区间 DP,考虑将原序列倍长,设状态 dp(l,r,0/1) 表示当前已经走过了 [l,r] 的点,且最后停在了 lr 的最小的总距离,则显然对于起点 sdp(s,s,0)=0,dp(s,s,1)=0

转移也十分显然,与 [ABC273F] Hammer 2 类似,即:

dp(l,r,0)=min(dp(l+1,r,0)+dis(l+1,l),dp(l+1,r,1)+dis(r,l)
dp(l,r,1)=min(dp(l,r1,0)+dis(l,r),dp(l,r1,1)+dis(r1,r))

Code

UPD

update-2023_03_06 初稿