题目链接:https://atcoder.jp/contests/abc149/tasks/abc149_f
题目大意:
给定一个N个节点的树,每个节点有1/2的概率染黑,有1/2的概率染白,随机染色之后,在树上找到一个最小的连通块S,使得S包围所有的黑色节点,求S包围的白色节点的期望个数。对1e9+7取模。
比如,如下样例:
3 1 2 2 3
只有一种情况S中包含白色节点,即1染黑色,2染白色,3染黑色,这样的概率是1/8,所以答案为
125000001
对(1e9+7)取模。
思路:
既然是每个点有一个概率,而期望是线性的,所以我们考虑每个点被包围的概率p,这样每个点对答案的期望就是1/2*p(因为这个点必须染白色)。
一个点如果必须被S覆盖,说明与他相连的几个连通块中