E - Paper Cutting 2 Editorial by satashun


関係する \(2\) 点を含む最小の長方形が同じであれば条件も同じなので,\(h_1 \leq h_2, w_1 \leq w_2\) として一般性を失いません.初め長方形の上側にある切断可能な本数を \(A\), 下側を \(B\), 左側を \(C\), 右側を \(D\) とすると,dp[\(A\)][\(B\)][\(C\)][\(D\)] \(:=\) そのような状態から終了までの切断回数の期待値とおくと \(\mathrm{O}(L^4)\) で計算できますが,時間制限に間に合いません.

問題を次のように言い換えます :

  • \(1, 2, \cdots, A\) と書かれた \(A\) 個の赤色の玉

  • \(1, 2, \cdots, B\) と書かれた \(B\) 個の黄色の玉

  • \(1, 2, \cdots, C\) と書かれた \(C\) 個の緑色の玉

  • \(1, 2, \cdots, D\) と書かれた \(D\) 個の茶色の玉

  • \(1, 2, \cdots, E\) と書かれた \(E = (h_2 - h_1) + (w_2 - w_1)\) 個の黒色の玉

がある.これらを並び替えて,最初の黒色の玉の index の期待値はいくつか.

正確には,紙の点を含まない側は捨てられるため一致しません.並び替えた後に,各ボールについてそれより前に自分と同じ色で小さい数が書かれた玉があるとき無視するようにします.

感覚的には,前から順番に玉を選んでいって,無視するべき玉が出たら捨てることにしてもその後の関係する玉には関係ないため同じ確率に従います.

結局,期待値の線形性より,各 (色, 値)について,それが黒い玉より先に出て,無視されない確率を求めて足すと求める期待値となります.

これは例えば赤色の \(i\) についての確率は赤の \(1,2,\cdots,i\) , 黒の中で先頭に現れる確率なので \(\frac{1}{i+E}\) です.

結局最初に \(\mathrm{O}(L)\) かけて各 \(i\) の mod 逆元と累積和を計算しておくと,\(\mathrm{O}(1)\) で答が求まります.

posted:
last update: