题解 CF1479E School Clubs
当作鞅和停时定理的练手题(虽然我还不清楚它们到底是什么)。
定义势能函数 $f(i)$,一个状态 $S$ 的势能 $\Phi(S) =\sum f(a_i)$。令 $f(0)=0$。
我们希望 $E(\Phi(S_t))-1=E(\Phi(S_{t+1}))$,设停时为 $T$,答案为 $E(\Phi(S_T))-\Phi(S_0)$,所以有
$$\begin{aligned}\sum f(a_i)-1&=\sum f(a'_i)\\ &=\frac{1}{2}\left[f(1)+\sum\left( \dfrac{n-a_i}{n}f(a_i)+\frac{a_i}{n}f(a_i-1)\right)\right]\\&+\frac{1}{2}\sum\left[\left(\frac{n-a_i}{n}\right)^2f(a_i)+\left(\frac{a_i}{n}\right)^2f(a_i)+\frac{n-a_i}{n}\cdot \frac{a_i}{n}\left[f(a_i+1)+f(a_i-1)\right]\right]\end{aligned}$$
令 $f(1)=-2$,加强限制使 $i$ 处值对应相等。
$$f(x)=\frac{1}{2}\cdot \left[\frac{n-x}{n}f(x)+\frac{x}{n}f(x-1)+\left(\frac{n-x}{n}\right)^2f(x)+\left(\frac{x}{n}\right)^2f(x)+\frac{n-x}{n}\cdot \frac{x}{n}\left[f(x+1)+f(x-1)\right]\right]$$
化简得 $f(x+1)=\dfrac{(3n-2x)f(x)-(2n-x)f(x-1)}{n-x}$。
分子分母分开递推即可。
至此可 $O(n)$ 求得答案。

浙公网安备 33010602011771号