P3750 [六省联考 2017] 分手是祝愿

发布时间 2023-07-23 21:46:22作者: Joker__King

本篇为该题解的补充与说明

处理出来一共有个多少的要摁的开关 (最优的方法是摁多少次)

我们可以先从 \(k\) 入手,从后往前扫,只要遇到 \(1\) 的位置就操作,并更新编号为 \(i\) 的约数的点

  • 一个点不会被操作 \(2\) 次以上,因为 \(2\) 次操作相当于没操作

  • 操作 \(i\) 不会影响到比ii大的数

  • 所以从后往前扫,若遇到 \(1\) 不操作,那么前面的操作也不会改变这个 \(1\) ,所以必须操作

(借鉴自本篇博客

接下来我们该推随机处理得式子

\(f[i]\) 表示从 \(i\) 个需要按的键到 \(i-1\) 个需要按的键的期望操作次数,则我们可以得到以下式子

\[f[i] = \frac{i}{n} + \frac{n-i}{n} \times (f[i] + f[i - 1] + 1) \]

\(\frac{i}{n}\) (这里面的 \(i\) 表示剩下有 \(i\) 个正确的键)表示从 \(n\) 个数里面选,选中正确的开关键位的概率.

\(\frac{n-i}{n}\) 表示按到错误的灯的概率.所以当我们摁错了一个开关时,已经增加了 \(\frac{n-i}{n} \times 1\) 的期望.
因为我们已经摁错了,所以还要转移回回正确的