专栏文章

Hamilton 回路的存在性!

休闲·娱乐参与者 70已保存评论 76

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
76 条
当前快照
1 份
快照标识符
@mj7einwk
此快照首次捕获于
2025/12/16 01:02
2 个月前
此快照最后确认于
2026/02/19 01:30
14 小时前
查看原文
注意到一个 Hamilton 回路是一个边权之和为 nn 的环。
发现 Hamilton 回路存在等价于最大环等于 nn
尝试将所有边的权值赋为 1-1,然后跑 floyd 最小环算法。
额好吧这个错得太明显了,换一个。
考虑枚举一条边 (U,V)(U,V),然后考虑判断从 UUVV 的 Hamilton 路的存在性。也就是从 UUVV 是否有长度为 n1n-1 的简单路径。
发现费用流非常万能,就考虑用它了。
为了确保每个点都只用一次,考虑拆点。
(u,u)(u,u') 连一条费用为 1-1,流量为 11 的边。对于原图的边 (u,v)(u,v)(u,v)(u',v)(v,u)(v',u) 各连一条费用为 00,流量为 11 的边。
然后求从 uuvv' 的最小费用最大流,如果费用为 n-n,说明存在 Hamilton 路径。
因为所有边的流量都是 11,求出来的一定是单独的一条增广路不会有劈叉。而费用是 n-n 说明这条增广路一定经过了所有点,因此这条增广路就对应了原图中的 Hamilton 路。

评论

76 条评论,欢迎与作者交流。

正在加载评论...