ふくほのひとりごと。

高専生が勉強したことの自分用メモ。

AtCoder / 乱数作成

ふくほです。
ABC028-D 乱数作成
を解きました。
atcoder.jp

考えたこと

数学の問題。
3つの数字を選んだときk
中央値となる場合は以下が考えられます。
1. 3回ともkが出る
2. 2回kが、1回kより大きい数が出る
3. 2回kが、1回kより小さい数が出る
4. k,kより大きい数,kより小さい数が
1回ずつ出る

ここで、kより大きいn以下の数は
n-k
kより小さい数はk-1個あります。

1の確率は\frac{1}{n^3}
2の確率は\frac{3(n-k)}{n^3}
3の確率は\frac{3(k-1)}{n^3}
4の確率は\frac{3!(n-k)(k-1)}{n^3}

となります。(詳しい解説はしません)
これの総和を取れば答えが出ます。

また、実装の時はn^3で割る時に
(double)を書かないとint型で出てきてしまうので
注意が必要でした
(初心者の時にやらかしてました)

提出コード

atcoder.jp

感想

これは高校だと1年生の数学に
なるんですかね(多分)
まだすっと解けてよかった。