公式

E - Pro Exam Eligibility 解説 by vwxyz


原案:vwxyz

答えで二分探索します。
勝率 \(p\) 以上になる区間が存在するかを判定します。
\(A_i = \begin{cases}1-p\;(S_i=\text{o})\\-p\;(S_i=\text{x})\end{cases}\)
と置くと、\(l\) 回目から \(r\) 回目までのゲームで勝率 \(p\) 以上であることは、\(A\)\(l\) 番目から \(r\) 番目の区間和が \(0\) 以上であることと同値です。 さらに、
\(S_i=\sum_{j=1}^{i}{A_j}\)
とおくと、これは \(S_r-S_{l-1} \geq 0\) と同値です。 \(r\) を全探索します。
区間内で \(K\) 勝以上するような \(l\) が存在しない \(r\) については考えなくていいです。 そのような \(l\) が存在するとき、最大の \(l\)\(l_r\) と置くと、\(l_r\) 以下の \(l\)\(S_l \leq S_r\) となるものが存在するかが判定できればよく、\(S\) の累積 min を計算しておけば判定することができます。
\(r\) に対する \(l\) は尺取り法などにより求めることができます。

投稿日時:
最終更新: