Loading

CF1479E School Clubs 题解

感觉这种题都比较套路。

思路

我们考虑定义势能函数 \(\Phi(x)\),满足:

  • 对于一个随机过程,\(E(\Phi(A_{x+1})-\Phi(A_{x})|A_x,\cdots,A_0)=-1\)
  • \(\Phi(A_t)\) 为定值,并且 \(\Phi(A_t)=\Phi(A_i)\) 当且仅当 \(i=t\)

此时,\(\Phi(x)+x\) 为离散时间鞅。

根据停时定理,\(E(\Phi(A_t)+t)=E(\Phi(A_0))\)

所以有 \(E(t)=\Phi(A_t)-\Phi(A_0)\)\(\Phi(A_t),\Phi(A_0)\) 都是定值)。

我们定义 \(f(a_i)\)\(a_i\) 个学生的组的势能。

\(\Phi(x)=\sum f(a_i)\)

所以有:

\[\sum_{i=1}^m f(a_i)-1=\sum_{i=1}^m \frac{a_i}{n}(\frac{1}{2}(f(1)+f(a_i-1))+\frac{1}{2}(\frac{a_i}{n}f(a_i)+\frac{n-a_i}{n}f(a_i-1)))+\frac{n-a_i}{n}(\frac{a_i}{2n}f(a_i+1)+f(a_i)) \]

不妨加强限制,钦定:

\[f(x)-\frac{x}{n}=\frac{x}{n}(\frac{1}{2}(f(1)+f(x-1))+\frac{1}{2}(\frac{x}{n}f(x)+\frac{n-x}{n}f(x-1)))+\frac{n-x}{n}(\frac{x}{2n}f(x+1)+f(x)) \]

化简一下:

\[\begin{align} (\frac{x}{2n^2}+\frac{x(n-x)}{n^2})f(x)-\frac{x}{n}&=\frac{x}{2n}f(1)+\frac{x}{2n}f(x-1)+\frac{x(n-x)}{2n^2}(f(x-1)+f(x+1))\nonumber\\ \frac{3nx-2x^2}{2n^2}f(x)-\frac{x}{n}&=\frac{x}{2n}f(1)+\frac{x}{2n}f(x-1)+\frac{x(n-x)}{2n^2}(f(x-1)+f(x+1))\nonumber\\ (3nx-2x^2)f(x)-2nx&=nxf(1)+nxf(x-1)+x(n-x)f(x-1)+x(n-x)f(x+1)\nonumber\\ f(x+1)&=\frac{(3nx-2x^2)f(x)-(2nx-x^2)f(x-1)+nxf(1)-2nx}{x(n-x)}\nonumber\\ f(x+1)&=\frac{(3n-2x)f(x)-(2n-x)f(x-1)+nf(1)-2n}{(n-x)}\nonumber\\ \end{align} \]

发现后面的不好消除。

但我们可以直接钦定 \(f(1)=-2\),此时 \(f(0)=0\)

所以有:

\[\begin{align} f(x+1)&=\frac{(3n-2x)f(x)-(2n-x)f(x-1)}{(n-x)}\nonumber\\ \end{align} \]

直接递推维护就可以做到 \(O(n\log mod + m)\) 的复杂度啦。

Code

https://codeforces.com/contest/1479/submission/286225197

posted @ 2024-11-28 22:17  JiaY19  阅读(11)  评论(0)    收藏  举报