概率问题
分别求出当现在吸血鬼为i(1,2等等)时再增加一个吸血鬼的期望天数,然后求一遍和即可。
先求出吸血鬼为i(1,2等等)时再增加一个吸血鬼的概率为(2*i*(n-i))/(n*(n-1)) * p记为a,
期望为1*a+2*(1-a)*a+3*(1-a)^2*a+.....错位相减求和即可得期望为1/a;
(代码很简单了)
#include<stdio.h> int main(){ int t,T,i,j,n; double p,sum; scanf("%d",&T); for(t=1;t<=T;t++){ sum=0; scanf("%d %lf",&n,&p); for(i=1;i<=n-1;i++){ sum+=(double)n*(n-1)/(2*p*i*(n-i)); } printf("%.3lf\n",sum); } return 0; }