问题描述
我想找到cactus graph上具有特定定向障碍路径的最长路径距离。
这意味着
- 如果我们访问1,则不能转到2 也就是说,不允许1-> 2和1-> 3-> 2。 但是,允许2-> 1。
类似
-
不能从2行驶到3
-
不能从3行驶到1
-
不能从1到0行驶
-
可以旅行其他任何人
因此我们具有路径(1、3、2),(0、2、1)等。因此,最长距离为3。
在这种情况下,答案是9。(4、5、6、7、8、0、9、2、3)等...
我在这个问题上停留了一个星期。我仍然不知道该如何处理。谢谢。
解决方法
听起来像您所拥有的只是有向图,但方向与箭头指示相反。反转方向并运行标准的最长路径图算法。
https://en.wikipedia.org/wiki/Longest_path_problem
据我所知,允许的路径是(但您不能走另一条路):
0 => 1
1 => 3
3 => 2
2 => 1
将其转换为有向图,并在其上运行最长路径算法。
编辑:更新了答案,以反映最长路径而不是最短路径