1 条题解

  • 0
    @ 2025-5-6 23:46:04

    每天抛一个硬币,硬币正面朝上的几率是p,直到抛出k次正面为止结束,第i天抛硬币的花费为2i−1,求出抛硬币的天数的期望和花费的期望。

    Solution

    该题为双倍经验题,具体做法请看

    收集邮票 (原谅我的懒惰,但这可以认为是一样的题了)

    这里我们求f数组的过程将概率改为p ,求g时,将里面的f[i]与f[i+1] 全部乘以2即可

    
    #include <cstdio>
    #include <fstream>
    using namespace std;
    const int maxn = 1005;
    int n,fir;
    double p;
    double f[maxn],g[maxn];
    int main()
    {
    	while (true){
    		scanf("%d",&n);
    		if (!n)	return 0;
    		if (fir)	printf("\n");
    		++fir;
    		scanf("%lf",&p);
    		f[n]=g[n]=0;
    		for (int i=n-1;i>=0;--i)	f[i]=f[i+1]+1/p;
    		for (int i=n-1;i>=0;--i)	g[i]=(1+2*f[i])/p-2*f[i]+g[i+1]+2*f[i+1];
    		printf("%.3lf %.3lf",f[0],g[0]);
    	}
    	return 0;
    }
    • 1

    信息

    ID
    2683
    时间
    1000ms
    内存
    256MiB
    难度
    10
    标签
    递交数
    2
    已通过
    1
    上传者