0w1

Yuki 242 ビンゴゲーム ( Expectation, Math )

No.242 ビンゴゲーム - yukicoder

題意:
在 5 * 5 的矩陣玩賓果 ( 縱橫斜連線 ),每個格子都不重複存在一個介於 1 ~ 99 之間的一個整數。求矩陣裡的格子裡的數字都完全隨機,叫出的號碼也都完全隨機的情況下,喊到第 N 個數時,期望有多少連線。

資料規模:
1≤N≤99
時限 2000 ms
記憶體 512 MB

解法:
一種作法是考慮矩陣裡的數字都固定後枚舉中的數字分別是哪些,這是指數級的複雜度,但能過。
但這題可以利用期望值的「期待値の線形性」,因為要求的是連線數總和的期望值,所以相當於是連線數期望值的總和。每個連線的機率 = 期望值 = C( N, 5 ) / C( 99, 5 ),有 12 種連線方式,因此答案是 12 * C( N, 5 ) / C( 99, 5 )。

時間 / 空間複雜度:
O( 1 )

int N;

void init(){
  cin >> N;
}

void solve(){
  cout << fixed << setprecision( 9 ) << 12.0 * N * ( N - 1 ) * ( N - 2 ) * ( N - 3 ) * ( N - 4 ) / 99 / 98 / 97 / 96 / 95 << endl;
}