每日一题:大逃离
题意
从 $n$ 个数中任选 $k$ 个数,取得这 $k$ 个数中最大的一个数,求每个数被取得的概率。$(n, k \in [1, 2e5])$
Solution
将数组排序后,枚举每个数被作为最大值的可能性,当第 $i$ 个数作为最大值时,其它 $k - 1$ 个一定从前 $i - 1$ 个里面选,即方案数为 $C(i - 1, k - 1)$,将其除以总方案数 $C(n, k)$ 即为被取得概率。
Code
1 | class Solution { |
从 $n$ 个数中任选 $k$ 个数,取得这 $k$ 个数中最大的一个数,求每个数被取得的概率。$(n, k \in [1, 2e5])$
将数组排序后,枚举每个数被作为最大值的可能性,当第 $i$ 个数作为最大值时,其它 $k - 1$ 个一定从前 $i - 1$ 个里面选,即方案数为 $C(i - 1, k - 1)$,将其除以总方案数 $C(n, k)$ 即为被取得概率。
1 | class Solution { |
Update your browser to view this website correctly.&npsb;Update my browser now