当前位置: 首页 > 知识库问答 >
问题:

最小权完美匹配的最短偶路径

沈俊美
2023-03-14

给定一个边带权的无向图和两个顶点s和t,权是非负的。最短偶路径问题是寻找一条边数为偶数且总权尽可能小的s,t-路径P。如何将最短均匀路径问题转化为最小权完美匹配问题

共有1个答案

夏景同
2023-03-14

从给定的图开始,设想将节点涂成蓝色,并将其称为Gblue。它具有节点,包括Sblue和Tblue以及无向边,如Ablue<->Bblue

创建图形的副本,将其节点涂成绿色,并将其称为Ggreen

现在重新连接所有边缘,使<->B绿<->B绿(具有相等的权重)变为<->B绿绿<->B(具有相同的权重)。

在这个组合图中,每条边都在蓝色节点和绿色节点之间,因此每条路径都在蓝色和绿色之间交替。因此从Sblue开始的每条具有偶数步数的路径都将以绿色节点结束。

现在在这个组合图上,寻找从SBlue到TGreen的最小权重路径。

最后,去掉下标。

 类似资料:
  • 给了我一个问题,上面写着: 给定一个具有整数权值(正负两种)的连通有向图,发展一种求两顶点之间最短路径的算法。 我想我可以使用最小生成树算法,比如Kruskal的算法,然后用Dijkstra的算法来证明,因为在MST中,每个顶点只有一条内边,Dijkstra的算法即使在负权值下也能工作。 这听起来像是共食吗? 附注。我很难证明MST包含有向图的每个顶点的最短路径。

  • 问题 你正在试着用正则表达式匹配某个文本模式,但是它找到的是模式的最长可能匹配。 而你想修改它变成查找最短的可能匹配。 解决方案 这个问题一般出现在需要匹配一对分隔符之间的文本的时候(比如引号包含的字符串)。 为了说明清楚,考虑如下的例子: >>> str_pat = re.compile(r'"(.*)"') >>> text1 = 'Computer says "no."' >>> str_p

  • 以下是消费税: 在某些图的问题中,顶点可以有权代替边的权或增加边的权。设Cv是顶点v的代价,C(x,y)是边(x,y)的代价。该问题涉及到在图G中寻找顶点a和顶点b之间的最便宜路径,路径的代价是该路径上遇到的边和顶点的代价之和。 (a)假设图中每条边的权重为零(而非边的代价为∞),假设所有顶点1≤V≤n(即所有顶点的代价相同),Cv=1。给出一个求从a到b最便宜路径的高效算法及其时间复杂度。 (b

  • 在一个具有不同正边的无向图中,是否可能有一个MST与最短路径树没有公共边? 我一直试图引出不同的例子,但似乎这是不可能的。最短路径树中的最短路径边似乎也应该包括在MST中。

  • 在一个加权有向图中,我需要找到两个结点s,t之间的最短路径。以下是限制: 权重可以为负值。 路径必须经过一个特定的边,让我们从节点u到V调用her e和shes。 输出路径必须简单,即我们只通过一个节点一次。 因为我希望它最短,所以我将检查在从s到u之前从v到t运行bellman ford是否比相反的方式更快(如果有节点,两个节点都使用where是放置它的最佳位置)。 谢谢你的帮助!

  • (b)假设图的最小生成树是唯一的。无向图的最小生成树中一对顶点之间的路径一定是最短(最小权)路径吗? 我的回答是 (a)