我有一个像树一样的图形(见下面的粗略图。不幸的是不能发布图片)。它是一个DAG,所有边缘都应该指向右边。上升的所有边缘都将具有负权重,所有下降的边缘将具有正权重。图表的直径为48,但高度可以限制为5或7,或其他高度,具体取决于场景。
O-O...
/ X
O-O-O...
/ X X
O-O-O-O...
\ X X
O-O-O...
\ X
O-O...
我想找到从起始节点到最后一个节点48个节点的最长路径。经过一些研究,似乎我可以否定所有的值(* -1),找到使用Bellman-ford的最短路径,这应该给我一个线性时间最长的路径? (http://courses.engr.illinois.edu/cs473/sp2011/lectures/04_class.pdf的第37/40页)
我知道如果你在最初都是正面的时候否定边缘它应该有效。但是,如果其中一些是积极的并且其中一些是消极的,那么这仍然适用吗?