给定基数的最小权重子森林
这个问题是由关于stackoverflow的问题引起的。 假设您在节点(标记为)上得到了根树(即,有一个根并且节点具有子节点等)。TTTnnn1,2,…,n1,2,…,n1, 2, \dots, n 每个顶点都有一个关联的非负整数权重:。iiiwiwiw_i 此外,还给您一个整数,使得。kkk1≤k≤n1≤k≤n1 \le k \le n 一组节点的权重是节点的权重之和:。W(S)W(S)W(S)S⊆{1,2,…,n}S⊆{1,2,…,n}S \subseteq \{1,2,\dots, n\}∑s∈Sws∑s∈Sws\sum_{s \in S} w_s 给定输入,和,TTTwiwiw_ikkk 的任务是找到一个最小重量子森林*,中,使得 具有完全相同节点(即)。SSSTTTSSSkkk|S|=>k|S|=>k|S| = > k 换句话说,对于任何subforest的,使得,我们必须有。S′S′S'TTT|S′|=k|S′|=k|S'| = kW(S)≤W(S′)W(S)≤W(S′)W(S) \leq W(S') 如果每个节点的子节点数是有界的(例如,二叉树),则存在使用动态规划的多项式时间算法。 我觉得这对一般树木来说是NP-Hard,但我还找不到任何参考/证明。我什至看过这里,但找不到可能有帮助的东西。我觉得即使您限制,这仍将是NP-Hard (这可能更容易证明)。wi∈{0,1}wi∈{0,1}w_i \in \{0,1\} 看来这应该是一个经过充分研究的问题。 有谁知道这是否是NP-Hard问题/是否存在已知的P时间算法? *的子森林是树的节点的子集,因此,如果,则所有子代也都在。(即,它是的根子树的不交集并集)。TTTSSSTTTx∈Sx∈Sx \in SxxxSSSTTT PS:如果事实证明我错过了明显的事情,而这个问题确实是题外话,请原谅我。