比方说,我们有一个有向循环图,其中每个节点的边都恰好指向其他两个节点-“最终节点”除外,后者只有很多东西进入而没有出来。
给出一个来源,我想找到到达最终节点的最长路径,该路径不会多次击中一个节点。那里有算法可以做到这一点,但是唯一的问题是我的图有很多不同的周期,其中一些周期彼此内部,并且大多数幼稚的算法在评估时陷入无限循环。
我尝试折叠所有强连接的组件(其中只有一个),但是如果我想要的源位于该组件内部,则该算法无效。而且在一般情况下也不起作用,因为在该紧密连接的组件中,要击中每个节点,您可能不得不多次击中某些节点,这是我不希望的。
在未加权的有向循环图中,没有节点被多次击中的情况下,用于计算返回最终顶点的最长路径的有效算法是什么?
答案 0 :(得分:1)
您可以看到这个问题,这也是在有向循环图中查找最长路径的问题,并且还提供了标准代码。
问题:http://poj.org/problem?id=3592
答案:https://blog.csdn.net/u013514182/article/details/42364173