![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
——树形dp
Aby_Lightman
这个作者很懒,什么都没留下…
展开
-
3078 仓库
Task 给n个节点中有K个入口的树,求有多少个1~n的排列顺序,顺序遍历每个节点时,都存在都入口到该节点的路径,满足路径上不包含之前遍历过的点。答案mod 1e9+7。 Solution 1. K=1。 在树上求方案数,容易想到是树形dp。 以入口S作为根,发现遍历节点x之前,x的子树必须都已经被遍历过了,dp[ i ]表示,以i为根的子树都已经被遍历的方案数。X子树对应的序列为儿原创 2016-10-26 17:00:40 · 263 阅读 · 0 评论 -
1725 天黑请闭眼
方法一:树形dp 如果点(i,f[i])建边,得到基环外向树、 相邻两个点不能同时作为杀手,即相邻两个点不能同时取。把环砍掉一条边,变成了树,根据“没有上司的舞会”,定义dp[0][x],表示x不取最大杀手数,dp[1][x]表示x取得最大杀手数。 砍的边(a,b)有三种情况:a,b都不取,a取b不取,a不取b取。 简化情况2中:a一定不取,b随便去不去,b一定不取,a随便去不去。 一定不原创 2016-11-14 22:19:58 · 394 阅读 · 0 评论