【问题标题】:2 Sources Optimal Path2 来源最优路径
【发布时间】:2012-11-29 23:48:40
【问题描述】:

假设我们有一个 R X C 表。每个单元格包含一个权重。

您可以选择两个来源,您可以从第 0 行开始,但可以从任何列开始。

您的目标是沿着表格向下移动,直到到达最后一行(任何列),并且不会有重叠的路径。这必须产生这两条路径的最低重量组合。

任何想法如何解决?如果您需要更多详细信息,请告诉我。

如果你能提供一些 O(constant X R X C) 的运行时间,那就太好了。

编辑: 每一步,您都可以向左、向右或向下。

例子

1 9 1 9
1 9 1 9
1 2 3 9
6 3 9 9

最佳值是 1-1-1-6 和 1-1-3-2-3

【问题讨论】:

  • 每一步都可以向右或向下移动?还是只下来?

标签: graph dynamic-programming shortest-path


【解决方案1】:

正如 Acess Denied 所说,请指定沿行行驶的规则, 例如:- 如果规则是

You can either go directly down or right-diagonally down or left diagonally down

我们可以这样做类似于来自第一个来源的单源问题,并找到最优和,然后将属于该路径的单元格的权重替换为 0,然后再次运行来自第二个来源的单源问题解决方案

我认为这种贪婪的方法会起作用,因为最终会询问两条路径的总和。

【讨论】:

  • 我已经编辑了这个问题。顺便说一句,没有重叠的路径。如果我正确理解您的答案,则将其设置为零会产生重叠路径。
  • 好吧,我的错,我试图找到最大的总和!而是将值设置为 999999 或任何高值,这应该可以避免已经选择的路径。谢谢
  • 请看我上面的例子,你的算法可能无法解决问题。 1-1-1-6 & 1-1-3-2-3 将产生最佳路径,但不是最短路径 (1-1-1-2-3)
猜你喜欢
  • 1970-01-01
  • 2016-10-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-28
  • 1970-01-01
  • 2021-04-18
  • 1970-01-01
相关资源
最近更新 更多