这个问题是由关于stackoverflow的问题引起的。
假设您在节点(标记为)上得到了根树(即,有一个根并且节点具有子节点等)。
每个顶点都有一个关联的非负整数权重:。
此外,还给您一个整数,使得。
一组节点的权重是节点的权重之和:。
给定输入,和,
的任务是找到一个最小重量子森林*,中,使得 具有完全相同节点(即)。
换句话说,对于任何subforest的,使得,我们必须有。
如果每个节点的子节点数是有界的(例如,二叉树),则存在使用动态规划的多项式时间算法。
我觉得这对一般树木来说是NP-Hard,但我还找不到任何参考/证明。我什至看过这里,但找不到可能有帮助的东西。我觉得即使您限制,这仍将是NP-Hard (这可能更容易证明)。
看来这应该是一个经过充分研究的问题。
有谁知道这是否是NP-Hard问题/是否存在已知的P时间算法?
*的子森林是树的节点的子集,因此,如果,则所有子代也都在。(即,它是的根子树的不交集并集)。
PS:如果事实证明我错过了明显的事情,而这个问题确实是题外话,请原谅我。