打印给定图中两个给定顶点之间的唯一路径

问题描述 投票:0回答:1

n边缘连接的树状n-1顶点。。然后,我必须根据查询找到从(a到b边缘)的总成本。每个边缘都有特定的成本。我正在尝试使用DFS。但是我变得不安了。有更好的方法。请提出一些更好的方法。特别感谢他们!

graph depth-first-search competitive-coding
1个回答
0
投票

任意地树根,并预先计算从根到每个节点的距离。然后,对于每个查询(a,b),计算lowest common ancestorab(称为c),然后两者之间的距离将为(dist[i]代表距根的距离)[ C0]。距离预计算在dist[a]+dist[b]-2*dist[c]中运行,LCA预计算在O(N)中运行,每个单独的查询都可以在O(NlogN)中运行(取决于实现方式)。

在线上有很多有关此问题的资源,因此,如果我链接的Hackerrank页面不足,请随时谷歌搜索更多。

© www.soinside.com 2019 - 2024. All rights reserved.