【问题标题】:Weighted graph and all pairs path加权图和所有对路径
【发布时间】:2016-04-13 01:50:34
【问题描述】:

我正在尝试通过此链接解决一个问题:

https://www.chegg.com/homework-help/questions-and-answers/consider-weighted-directed-graph-g-n-vertices-e-edges-weights-integers-suppose-g-contains--q12054851

(这不是作业题)

考虑一个有n个顶点和e条边的加权有向图G,权重是整数。假设 G 不包含负循环,并且对于 G 中的每一对顶点 u 和 v,对于某个正整数 d,从 u 到 v 的距离都在 [-2d, 2d] 范围内。我们将修复 G 中的特定边 (x,y),并考虑当我们更改与该边相关的权重时 G 中的距离会发生什么变化(并保持所有其他边权重不变)。

设计一个以 G 作为输入的算法,以及 G 中的指定边 (x,y)。算法的输出应该是这个边的权重 (x,y) 可以的整数范围使 G 中的所有距离保持不变。请注意,此范围将是非空的,因为它必须包括边缘的原始权重 (x,y)。另请注意,无穷大可能会作为范围的端点出现(即范围可能不是有限的)。为此,您可以返回“∞”作为端点。您的算法的运行时间必须是 n、e 和 d 中的多项式(因此您的运行时间不应有任何这些参数显示为指数)。证明为什么算法是正确的。

我一直在考虑以下几点: 由于距离在一个范围内,因此权重也应该在一个范围内。一种选择是我们多次运行 Djkstra。我们如何优化它?

【问题讨论】:

    标签: algorithm shortest-path


    【解决方案1】:

    是的,您可以运行 Dijkstra n 次。或者,您可以运行专为这些问题设计的 Floyd-Warshall。总体而言,它们具有相似的复杂性界限。

    【讨论】:

    • 此图有负边权重,Djikstra 的算法不起作用。
    • @moreON 是的,如果有负边,Dijkstra 将无法工作。
    • 而且问题清楚地表明存在负边权重。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多