我在HackerRank上试过这个Synchronous Shopping问题,我不知道如何处理它。所以我看了一下社论,我很困惑。也许我误解了Dijkstra的单源最短路径算法的工作原理。Synchronous Shopping HackerRank
这是从editorial采取:
他说
的状态
D(V, B)
的最短距离是指最短的时间需要 从买来的面膜B
参观购物中心V
鱼。
然后他介绍了我们可能从一个状态移动到另一个两种可能的方式,之后,他说
当计算所有的最小时间....
我认为他的意思是,在我们到达节点N后,我们应该考虑所有可能的方法来获取鱼类。所有2^k种方式。就像,我们认为
1)我们只有第一条鱼,当我们到达节点N
2)我们只有第二鱼...
3)我们只有第一鱼,第二鱼..
等。
但如果我们运行Dijkstra算法,它会计算从节点1到节点N的最短路径,但我们必须前往一个特定的路径从节点1到节点N 。我们只会沿着这些节点获得可用的鱼。我们如何计算所有其他状态? (用不同组的鱼达到节点N)
不要依赖到另一个网站的链接来解释你的问题。另一个网站未来可能无法使用,这会使您的问题和所有答案几乎无法用于以后尝试阅读的任何人。 – RBarryYoung