谷歌搜索了大约一个小时后,我仍然没有找到一个令人满意的,完整的,最短路径的解释"问题(随附)。我知道有很多种方法可以做到这一点,比如Dijkstra / Bellman-Ford / Floyd-Warshall等,但我不能理解代码。我的逻辑很正常,只是那里没有人也给代码一步一步解释。 我确定这个解释不仅对我有帮助,而且还有许多其他的帮助!
问题2"免费门票" :INOI 2014 Paper
P.S。我自己得到了问题1(耶:D),我在上一个问题中对此提出疑问并得到-1: - (
P.P.S。我希望问题写得很好......如果没有,请通知原因堆栈溢出说我即将被禁止: - /
答案 0 :(得分:0)
方法:在图表的每个顶点上应用 Dijkstra ,并找出图表上任意两个节点之间的全局最大成本。
说明:正如您可以看到的那样,这是一种计算任意两条路径之间最大成本的简单方法,因为我们必须将所有节点视为源节点并获取从源节点到图表上每个其他节点的最短路径(此问题在问题中指定),然后最大化成本旅行即最大化任意两个节点之间的最短路径的权重。 (问题中也提到了这种情况)。由于Dijkstra在最小堆(时间复杂度:O( (V+E)lgV )
)方面非常高效,因此该解决方案在INOI服务器分配的时间限制内完美运行。
供参考,您可以看到我的代码:FreeTicket Solution
希望有所帮助。如果没有,请发表评论。