给定一个有向图 G(可能存在环)和正边权,同时给出了源点 s 到每个顶点 v 的最短距离 D[v](用数组 D 表示)。问题是要在线性时间内找到从 s 到 v 长度为 D[v] 的路径数量 N[v]。
现在这是我一直以来苦苦思考的作业问题。我一直在按照以下思路进行:通过合适地选择 G 的无环子图来移除环,然后尝试在子图中寻找从 s 到 v 的最短路径。
但我无法明确地想出该如何做,所以非常感谢任何形式的帮助,例如关于该如何解决问题的定性建议。
现在这是我一直以来苦苦思考的作业问题。我一直在按照以下思路进行:通过合适地选择 G 的无环子图来移除环,然后尝试在子图中寻找从 s 到 v 的最短路径。
但我无法明确地想出该如何做,所以非常感谢任何形式的帮助,例如关于该如何解决问题的定性建议。
D=[n,n,...,n]
将哈密顿路径问题缩小到其中。这通常是一个很好的直觉,表明问题本身也是NPC,除非您在图形结构上错过了一些限制。 - amit