Description
Input
Output
Sample Input
Sample Output
HINT
数学题都这么骚的么……怎么推出来的啊……我是真的想不出来……
首先,要算总的视野期望,我们可以把每一个小朋友的视野期望算出来,然后求和
于是考虑如何计算每个小朋友的视野期望,设$L$表示视野长度,视野期望为$ans$,则有$$ans=\sum_{i=1}^n i*P(L=i)$$
然后考虑转化一下,我们原来是枚举视野长度然后考虑概率,那么我们换一个想法,考虑它前面的第$i$个人如果被看到就会对答案有$1$的贡献,那么我们只要考虑前面的第$i$个人会被看到的概率就可以了,可以直接求和$$ans=\sum_{i=1}^n P(L\geq i)$$
扫描二维码关注公众号,回复:
3591280 查看本文章
考虑概率如何计算。设不小于第$i$个小朋友身高的有$k$个人(不包括他自己),那么$$ans=\sum_{i=1}^n \frac{(n-i+1)A^k_{n-i}}{A^{k+1}_n}$$
上面的式子意思就是,会挡住小朋友的人包括自己随便放总共有$A^{k+1}_n$种情况,其中那些会挡住小朋友的人不能放在小朋友前面的$i-1$个位置,也不能放在小朋友的位置,所以方案数为$A^k_{n-i}$,然后又因为小朋友自己有$n-i+1$个位置可以放,所以乘上一个$n-i+1$