以下是我正在研究的问题:
考虑一个 所有边权重均为正的有向加权图G。这个问题的目标是在 G中找到 两个预先指定的顶点 s 和 t之间的最短路径 ,但有一个额外的转折:您可以将(您选择的)恰好一条边的权重更改为零。
换句话说,您必须在 G 中选择一条边设置为零,以最小化 s 和 t之间的最短路径 。给出一个在O ( E lg V )时间内实现这一目标的有效算法, 并分析你的算法的运行时间。次优解决方案将获得较少的信用。
提示:您可能需要反转边缘,多次运行熟悉的算法,并做一些额外的工作
因此,我尝试将 Dijkstra 从s运行到所有其他节点,然后尝试反转边缘并再次从s运行到所有其他节点。但是,我发现我们必须将 Dijskstra 从s运行到所有其他节点,然后反转边缘,然后将 Dijkstra 从所有其他节点运行到t。我不确定这如何帮助我们找到设置为零的边缘。根据我的直觉,我认为我们只需将最大权重边缘设置为零。反转边缘有什么意义?