1. 程式人生 > 其它 >CF1096E The Top Scorer

CF1096E The Top Scorer

題意:

小明在打比賽,包括小明自己一共有 p 名選手參賽,每個人的得分是一個非負整數。最後的冠軍是得分最高的人,如果得分最高的人有多個,就等概率從這些人中選一個當冠軍。

現在小明已知了自己的得分大於等於 r,所有選手的得分和為 s。求小明獲勝的概率,結果對 998244353 取模。

首先,概率=小明獲勝的方案數/總方案數(同分的 \(\frac1i\)) 也要算上。

先算出總方案數,直接插板法得到,\(\binom{s-r+p-1}{p-1}\)

然後考慮暴力算小明獲勝的方案數,列舉一個小明的分數 \(i\),列舉一個和小明同分的人數 \(t\)\(f(i,t)\) 代表這種情況下小明獲勝的方案數。

我們考慮 \(O(p)\) 暴力計算,注意到這轉化成了:你需要求 \(n\) 個人分配 \(m\) 的權值,每個權值都要 \(<t\) 的方案數,直接定義 \(F(i)\) 代表欽定 \(i\) 個人 \(\geq k\),剩下隨意的方案數。容斥即可。

程式碼,寫的比較匆忙,有些解釋在程式碼裡。