[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\) 直接转移过去。并在这里统计答案。