抱歉标题不好。我是图形算法的新手。
我被一个问题困扰了好几天。如果有向无环图的所有节点都被加权,而权重可以是负数,我如何找出权重总和最大的集合?
例如,我们有一个 5 个节点的图 -
- 节点 1:权重 30,有一条指向节点 4 的边
- 节点 2:权重 25,边指向节点 4,5
- 节点 3:权重 -65,没有边缘
- 节点 4:权重 -20,边到节点 5
- 节点 5:权重 2,没有边缘
在找出最大点时,例如,如果选择节点 1,则必须选择节点 4 和节点 5(因为它们与节点 1 直接/间接相邻)。
所以我们可以得到的最大点是 - (30-20+2)+(25)=37
对于节点 1 和后代 4,5,然后对于节点 2(不再考虑节点 4,5)
我希望我把我的问题说清楚了。谁能告诉我如何实现这一目标?