Loading

[题解] 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\) 出发的答案,然后用树上高消的方法解就可以了。

posted @ 2021-09-21 22:16  IrisT  阅读(8)  评论(0编辑  收藏  举报