首先求出$[L,R]$中有多少个数比$F[i]$大,这个用主席树来处理就行。
然后问题就转化成了有$n$个数,其中有$k$个满足条件的数,然后随机取$x$个数,$x$随机产生,问选出的所有数都是满足条件的数的概率。
考虑枚举$x$,那么令$P[x]$表示选$x$个数都满足条件的概率,那么
$$
Ans=\frac{1}{n}\sum_{x=1}^{k}P[x]=\frac{1}{n}\sum_{x=1}^{k}\frac{C_{k}^{x}}{C_{n}^{x}}=\frac{1}{n}\sum_{x=1}^{k}\frac{k!(n-x)!}{n!(k-x)!}=\frac{k!}{n\cdot n!}\sum_{x=1}^{k}\frac{(n-x)!}{(k-x)!}
$$
然后只需要计算$\sum_{x=1}^{k}\frac{(n-x)!}{(k-x)!}$即可。
$$
Ans=\frac{k!}{n\cdot n!}\sum_{x=1}^{k}\frac{(n-x)!}{(k-x)!}=\frac{k!(n-k)!}{n\cdot n!}\sum_{x=1}^{k}\frac{(n-x)!}{(k-x)!(n-k)!}=\frac{\sum_{x=1}^{k}C_{n-x}^{k-x}}{n\cdot C_{n}^{k}}=\frac{\sum_{x=0}^{k}C_{n-x}^{k-x}}{n\cdot C_{n}^{k}}-\frac{1}{n}
$$
注意到$\sum_{x=0}^{k}C_{n-x}^{k-x}=C_{n+1}^{k}$,只需要将$C_{n-k}^{0}$换成$C_{n-k+1}^{0}$即得证。那么得到
$$
Ans=\frac{C_{n+1}^{k}-C_{n}^{k}}{n\cdot C_{n}^{k}}=\frac{C_{n}^{k-1}}{n\cdot C_{n}^{k}}=\frac{k}{n\cdot(n-k+1)}
$$
最后乘上$10^5$就行了。
代码:
1 |
|