好久没写树形DP手生疏了。 题意: 每个点权值为 h p [ x ] + h p [ v ] hp[x]+hp[v] hp[x]+hp[v],其中 v v v是 x x x的儿子。你可以删掉 m m m个点,求对于 0 ≤ m ≤ n 0≤m≤n 0≤m≤n的每个 m m m能得到的最小权值和。 思路: 定义 d p [ i ] [ j ] [ 0 / 1 ] dp[i][j][0/1] dp
This way 题意: 现在有一棵根为1的树,你要将所有点消除,消除一个点i首先需要消除它的父亲,然后消除i的代价是 也就是hp[i]+还未被消除的所有儿子的hp和 你有一种魔法可以无视所有规则消除掉一个点。 问你这个魔法的使用次数为i(0<=i<=n)次时,最少需要的代价是多少。 题解: 很明显是树形DP,但是枚举儿子的状态转移的话,时间复杂度会变成 n 3 n^3 n3,所以需要