P5643 [PKUWC2018]随机游走

求出所有 \(E_{\min}(S)\) ,然后 FWT 求 \(E_{\max}(S)\)

枚举集合 \(S\),记 \(f_{u}\) 表示从终点 \(u\) 走到 \(S\) 中节点的期望步数。

对于不属于 \(S\) 的点 \(u\) , 有:

\[f_{u}=1+\frac{1}{\deg_u}\left(f_{fa}+\sum_{v}f_{v}\right) \]

叶子节点只有 \(f_{fa}\) 的贡献,这提示我们将 \(f_u\) 拆分为 \(f_{fa}\) 的贡献和常数。

当然,根的 \(f\) 值即为常数部分。

\[\begin{cases} f_{u}=A_uf_{fa}+B_u \\ f_{u}=1+\frac{1}{\deg u}f_{fa}+\frac{1}{\deg u}(\sum_{v}A_vf_u+B_v) \end{cases} \\ \Rightarrow \begin{cases} A_u= \frac{1}{\deg u - \sum_{v}A_v}\\ B_u= \frac{\deg u+\sum_{v}B_v}{\deg u-\sum_{v}A_v} \end{cases} \]

并且对于叶子有 \(A_u=1,B_u=1\)

直接做可以做到 \(\mathcal O(n2^n)\)

posted @ 2022-10-10 16:06  chihik  阅读(19)  评论(0编辑  收藏  举报