题目梗概
给出一个数n,每次随机 [0,n) 之间的一个数,如果随机到给出的 m 个数之一就停止。
求随机出来的数字的期望。
解题思路
真TM智障,我想了很久……
能够继续下一次操作的概率为
显然答案就是 1∗1n∗S+p∗1n∗S+p2∗1n∗S……
其中 S 表示所有数的和。
把
所以最后的答案就是 m∗S
允许我再爆一次粗口
#include<cstdio>
using namespace std;
double n,m;
int main(){
freopen("exam.in","r",stdin);
freopen("exam.out","w",stdout);
scanf("%lf%lf",&n,&m);
printf("%.6lf\n",n*(n-1)/2/m);
return 0;
}