题解:P9346 无可奈何花落去
前言
由于是集训题所以根据标题可知这是一道树形DP
但是前面有一堆关于期望的转化而且集训的PPT上没有详细过程,所以来写一篇
题意
给定含有
思路
首先我们注意到度数约束:设节点
期望凋零时间可以表示为所有可能断边顺序中首次满足凋零条件的时间的平均值。我们可以通过计算每个可能的凋零时间
首先我们来看一下期望的式子(对于本题而言):
我们考虑拆开计算,我们需要确定对于每个
直接计算满足约束的边集数量较难,因此用容斥原理转化为 “减去不满足约束的情况”。
我们很容易得到方案数(用
其实这只是套话 ::::info[简单地] 所有的减不满足约束的等于满足约束的 ::::
所以以这个思路我们就可以将问题转换为求解断开
所以我们可以直接树形 DP,设
得到
-
计算
S(k) :断k 条边后凋零的所有排列数。S(k) = C(k) \times k! \times (n-1 - k)! ,这里k! 是前k 步断边的排列数,(n-1 -k)! 是剩余边的排列数。 -
计算首次凋零的方案数:
f(k) = S(k) - S(k-1) ,其中S(-1) = 0 。 -
计算期望:
E = \frac{\sum_{k=0}^{n-1} k \cdot f(k)}{(n-1)!}