Multi-University 2015 #7 J(hdu 5378 Leader in Tree Land)

来源:互联网 发布:netfits云墙 mac下载 编辑:程序博客网 时间:2024/04/28 20:56

题目大意

在一棵树上,定义一颗子树的首领是权值最大的节点,每个节点的权值唯一并且权值为[1,n],求首领一共有k个的方案数。

题解

各种思考树形dp。然而正解是概率dp。
让我们从概率的角度考虑这个问题。
对于一棵子树,令根节点是x。
令siz[x]表示x的子树大小。
这棵子树的首领是x的概率为1siz[x],而首领不是x的概率为siz[x]1siz[x],那么从1到n进行dp。
定义dp[i][j]表示处理到i这个点,并且有j个首领的概率。
推导就比较简单了:
如果x成为首领 dp[i][j]=dp[i1][j1]1siz[i]
否则 dp[i][j]=dp[i1][j]siz[i]1siz[i]
对于除法,就利用逆元。
边界就是dp[0][0]=1
由于题目求的是方案数,所以答案就是dp[n][k]n

总结

这题真是概率dp的神题啊!
完全没有看出来。

2 0
原创粉丝点击