[题解] trip
题目大意
给定一颗大小为 \(N\) 的树, \(1\)的度数不小于 \(2\) 。每个点有一个颜色,要么为黑色要么为白色。
从 \(1\) 号点开始游走,计数器初始为 \(0\)。
- 如果当前为黑点计数器增加 \(1\);否则如果是第一次经过当前点计数器增加 \(1\)。
- 如果当前点度数为 \(1\) 停止游走;否则等概率随机走向相邻点。
- 求最后计数器值的期望,对大质数取模。
\(N ≤ 10^6\)
解题思路
-
黑点白点贡献分别计算
-
对于白点,设 \(Q_u\) 表示从 \(u\) 出发可以随机游走到 \(Father_u\) 的概率,可以从下往上 dp 出来;
然后设 \(P_u\) 表示从 \(Father_u\) 出发可以随机游走到 \(u\) 的概率,可以从上往下 dp 出来。
这样从根节点能走到每个白点的概率,就是路径上所有对应 \(P_u\) 的乘积。
(这个做法也可以用于求对应的期望步数)
-
对于黑点,直接设 \(F_u\) 表示从 \(u\) 出发的答案,然后用树上高消的方法解就可以了。