题目链接:https://ac.nowcoder.com/acm/problem/20811
题目大意:
给出n个点的一棵树,问有多少种删边方案使得删边后各连通块大小小于等于k?
题目思路:
考虑树形dp与组合数学结合
定义dp状态 dp(i,k) 代表 i的子树全部合法且i的连通块大小是k
那么显然对于任意一个节点u来说初始:dp[u][1] = 1
接下来枚举每一条边,对于一条边来言有删除与不删除两种状态:
1.删除:
删除此边,那么就意味着当前以u节点连通块大小为k的方案数 都可以 乘 v节点连通块大小所有的方案数: