涂色游戏 题解
bsoj6412 没找到出处。。。 题意简述:给一颗树,一次操作定义为随机选择一个点,染掉该点和它周围一圈的点,问期望多少次染黑所有点。 这是道好题啊!全面考察了容斥、反演、期望和dp,有许多值得注意的细节。 一、做法1(容斥/二项式反演+dp) 1.1 化式子 首先肯定第一个想到的式子就是 \[ Ans = \sum_{i=1}^{\infty} i * P(在染第i次时刚好黑完) \] 这是根据期望的定义直接得到的。 然后发现这个 \(i\) 实在是非常的恶心,因为它居然和无穷有关。但既然是一个合法的期望题,这个 \(i\) 必然可以找到某种转化的手段把它弄成一个能算的且收敛的东西,比如等比数列级数之类的。 于是这里有一个套路化法 \[ \sum_{i=1}^{\infty} i * P(x=i) = \sum_{i=0}^{\infty} P(x>i) \] ( \(P(A)\) 代表事件 \(A\) 发生的概率) 就是改了改枚举的方式,随便想一想应该能够明白了吧( 总之,根据上式我们就可以得到 \[ Ans = \sum_{i=0}^{\infty} P(染i次未黑完) \] 我们成功把 \(i\) 丢到了 \(P\) 里面去。但是我们还是没有办法求这个东西。 发现虽然选点可以进行无数次,但是最多只会选有限个点,许多选点是重复的。用实际选择的点的个数