旅行销售员问题:基于小生成树解题策略.pdfVIP

  • 1
  • 0
  • 约1.21万字
  • 约 14页
  • 2026-06-09 发布于北京
  • 举报

旅行销售员问题:基于小生成树解题策略.pdf

解题思路

题目要求油箱所需的最小容量,使得能够以某种方式在任何一对城市之间旅行。考

虑二分这个最小容量。首先验证一下单调性:如果当前容量可以满足在任何一对城市之间

旅行,那么比当前容量大的油箱也一定可以满足,反之亦然。

知道油箱容量,考虑如何验证这个容量是否可行。我们可以用小于等于油箱容量的边

的集合来构建图,最终判断构建的图是否保持连通性。判断一张图是否完全连通可以使用

并查集来实现,将所选的这些边的端点进行合并,最后判断所有点是否都在一个集合内。

我们发现上述思路是先确定最小容量,然后再判断构成的图是否连通。我们可以将上述过

程反过来考虑,先确定图连通,然后使所有边尽可能小,这就是求一个最小生成树。那么

此时最小容量应该是最小生成树中最大的那条边。因此,我们在Kruskal算法枚举边的时

候保存一个最大值即可。

AC_Code

•C++

#includebits/stdc++.h

使用命名空间std;

typedeflonglongll;

constintmaxn=1e5+5;

intfar[maxn];

int[maxn];

intn,m;

int查找(intx)

{

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档