保留节目

你是一个纯纯的 whker,名字叫 5k,这天你的退役 oier 同学 k5 在打 abc 时不会 G,向你求助。

你定睛一看:

G - Accumulation of Wealth

给定 \(n,p\),开局一个 \(1\),每次 \(p\) 概率加一个 \(\max+1\)\(1-p\) 概率随机复制一个数,

\(n-1\) 次,对 \(k\in[1,n]\)\(k\) 期望出现次数。模 \(998244353\)

根据你的 whk 经验,概率期望题一般都比较简单,所以尽管你看不懂模 \(998244353\) 是什么意思,你还是尝试做了一下:

首先你回想起老师说过,求期望先求分布列,但是在 1 纳秒的毛估估后你发现这句话纯属放 p,

你想起了某年高考题的材料:

(k5 说这个是期望线性性的弱化版,但是这个词一听就很深奥,所以你摆了)

你发现,设 \(X_i=0/1\) 表示 \(k\) 是否在 \(i\) 位置出现,然后就只需要求 \(E\left(\sum\limits_{i=1}^nX_i\right)=\sum\limits_{i=1}^nq_i\) 辣!

(k5 说没必要写的上下标可以不写,但是为了防止被扣过程分你还是写上了)

\(q_i\) 怎么求呢?你发现 \(k\) 要么是操作 \(1\) 加入的,要么是操作 \(2\) 加入的,所以你很快想到了全概率公式

\[q_i=P(X_i=1)=P(\text{进行操作 1})P(\text{之前 max=k-1}\mid\text{进行操作 1})+P(\text{进行操作 2})P(\text{随机选到 k}\mid\text{进行操作 2}) \]

\(P(\text{进行操作 1})=p,P(\text{进行操作 2})=1-p,P(\text{随机选到 k}\mid\text{进行操作 2})=E\left(\sum\limits_{j=1}^{i-1}X_j\right)/(i-1)=\left(\sum\limits_{j=1}^{i-1}q_j\right)/(i-1)\)

不知道的就只有 \(P(\text{之前 max=k-1}\mid\text{进行操作 1})\) 了,这显然独立所以它就是 \(P(\text{之前 max=k-1})\)

你发现这就是说前 \(i-2\) 次操作中有 \(k-2\) 个操作 \(1\),这不是我们二项分布吗,所以:

\[P(\text{之前 max=k-1})=C_{i-2}^{k-2}p^{k-2}(1-p)^{i-k} \]

(k5 已经无力吐槽你的符号了……)

所以 \(q_i\) 满足:

\[q_1=\begin{cases}1&k=1\\0&k\ne 1\end{cases},q_i=pC_{i-2}^{k-2}p^{k-2}(1-p)^{i-k}+(1-p)\left(\sum\limits_{j=1}^{i-1}q_j\right)/(i-1) \]

然后答案是 \(\sum\limits_{i=1}^nq_i\)

你发现概率期望题经典地变成了数列题,但是能解出这个数列的也是神人了,所以你选择把它直接展开:

\[\sum\limits_{i=1}^nq_i=\begin{cases}\dfrac{(2-p)(3-p)\cdots(n-p)}{1\times 2\times\cdots\times(n-1)}&k=1\\\sum\limits_{i=2}^npC_{i-2}^{k-2}p^{k-2}(1-p)^{i-k}\dfrac{(i+1-p)(i+2-p)\cdots(n-p)}{i(i+1)\cdots(n-1)}&k\ne 1\end{cases} \]

你觉得计算机应该可以轻松算出这个式子,所以你把它发给了 k5,

但是 k5 说 \(n\le 10^5\),你这个是 \(O(n^2)\) 的,肯定过不了,

虽然没听懂他在说什么,你还是继续观察式子:

\[\begin{aligned} \sum\limits_{i=2}^npC_{i-2}^{k-2}p^{k-2}(1-p)^{i-k}\dfrac{(i+1-p)(i+2-p)\cdots(n-p)}{i(i+1)\cdots(n-1)}\\ =\dfrac{p^{k-1}(1-p)^{-k}}{(k-2)!}\sum\limits_{i=2}^n\dfrac{(i-2)!}{(i-k)!}(1-p)^i\dfrac{(i+1-p)(i+2-p)\cdots(n-p)}{i(i+1)\cdots(n-1)} \end{aligned} \]

你发现这样 \(\sum\) 里面只有 \(\dfrac 1{(i-k)!}\)\(k\) 有关,而其他的只与 \(i\) 有关,

这样问题就变成了给定两个数列 \(a,b\),对 \(k\in[2,n]\)\(\sum\limits_{i-j=k}a_ib_j\),但是你不会做。

然后 k5 说这是差卷积,于是他贺了份 FFT 通过了此题。

哦他还因为 \(1-p=0,i-k=0\)\((1-p)^{i-k}\ne(1-p)^i(1-p)^{-k}\) 挂了一发。

https://atcoder.jp/contests/abc409/submissions/66614622

这神人题解快给我写吐了……我们 whk 的答题规范真的是太规范了

posted @ 2025-06-09 07:32  Jijidawang  阅读(123)  评论(9)    收藏  举报