AtCoder Beginner Contest 297 F問題 Minimum Bounding Box 2
問題
提出解答
問題の概要
行 列からなるグリッドがある. この中から 個のマスをランダムに選び, その 個のを含む最小の長方形に含まれるマスの数をスコアとする.
スコアの期待値を求めよ.
制約
解法
上から 行目, 左から 列目のマス目を と書き, マスの部分集合 を含む最小の長方形に含まれるマスの集合を と書くことにする.
スコアを取る確率変数を とすると,
である.
ここで, の選び方はランダムであり, 可能性は 通りあるので,
である.
よって, 各マスについて, となる の個数を求めることにする.
このとき, としたとき, 以下は同値である.
- かつ
ここで, という条件は 以下の が存在するという条件になり, やや扱いにくい. そこで, 否定を取り, とすると, 全ての が より大きいということになり扱いやすくなる.
よって, 以下のようにする.
- ( または ) または ( または ).
または を , または を ということにする.
または を満たす の数を求める. ここで, 包除原理により, かつ を満たす の数を求められれば良い.
となるような の数を考える. このとき, と は同時には達成不可能であるから, それぞれの場合についての場合の数を足し合わせれば良い.
ということは 行目以降から 個のマスを選ぶことになるので, 個である. についても同様にして 個である.
よって, となる の数は
である.
についても同様にして, となる の数は
である.
最後に, が同時に達成される場合を考える. このとき, 分配法則により, が同時に達成されることと, 以下のうちのどれかが成り立つことは同値になる.
- かつ .
- かつ .
- かつ .
- かつ .
また, この について, どの つを選んでも同時に達成することはない. よって, 各場合についての結果を足し合わせればよい.
例えば, 一番上の場合については 通りとなる. 他の場合も同様にして求めることにより, が同時に達成する の数は
である.
よって, 求めるべき期待値 は に対して,
とおくと,
であり, は 個の二項係数の和であるから, 適切な 時間の前計算により, 期待値を 時間で求められる.