传送门:https://www.luogu.com.cn/problem/P1272

题目大意:给你一棵树,删除尽量少的边使得生成一颗含有P个点的树。

题目思路:

显然的树上分组背包。考虑状态:

dp(i,j)代表以i为父节点向上提供一个大小为j的子树所需要删除的最少的边数.

直接跑树上分组背包即可。复杂度:

题目坑点:由于定义是认为每个子树都与父节点相连,所以在计算子问题(每颗子树的最优解)的时候,要考虑将与父节点的那条边给剪掉。答案要++


AC代码:https://www.luogu.com.cn/record/37921855