[ABC277G] Random Walk to Millionaire

给出一个 \(n\) 个点 \(m\) 条边的无向简单连通图,每个点有一个点权 \(C_i\in\{0,1\}\)

\(\text{Takahashi}\) 初始时在 \(1\) 号点,等级为 \(0\)。接下来他要做 \(K\) 次如下操作:

  • 随机地走向当前所在点的一个相邻点。
  • 如果这个点 \(C_i=0\),将等级加一;如果这个点 \(C_i=1\),设 \(\text{Takahashi}\) 当前的等级为 \(X\),他可以获得 \(X^2\) 元钱。

\(K\) 次操作中 \(\text{Takahashi}\) 一共获得的钱数的期望,答案对 \(998244353\) 取模。

\(1\le n,m,K\le 3000\)

\(f(i, j, 0/1/2)\) 表示第 \(j\) 步时到达点 \(i\) 的期望等级的 \(0/1/2\) 次方。

答案:

\[\sum_{i=1}^n c_u \times \sum_{j=1}^k f(i,j,2) \]

考虑 \(f(u, j) \to f(v, j + 1)\)。若 \(c_u=0\),也就是说等级会加一:

\[\begin{matrix} f(v,j+1,0) &\gets& \dfrac 1{d_u}f(u, j, 0) \\ f(v,j+1,1) &\gets& \dfrac 1{d_u}(f(u, j, 1)+f(u,j,0)) \\ f(v,j+1,2) &\gets& \dfrac 1{d_u}(f(v,j,2)+2\times f(v,j,1) + f(v,j,0)) \end{matrix} \]

原因考虑 \((x+1)^2 = x^2 + 2x + 1\)

否则若 \(c_u=1\) 直接转移过去。并在这里统计答案。

posted @ 2024-11-12 13:56  2huk  阅读(1)  评论(0编辑  收藏  举报