码迷,mamicode.com
首页 > 其他好文 > 详细

【FZU2278】YYS

时间:2018-04-27 02:45:10      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:src   cstring   color   收集   分享   硬币   spl   can   博客   

 题意

    这里有n种卡片,如果你想得到一张新的卡片,你需要花费W枚硬币来抽一张卡片。每次只能抽一张。所有的卡片出现的概率都是1/n,你每天可以得到1枚硬币。初始时候没有硬币也没有卡片。每W天,你就会抽一张卡片用这W枚硬币。在这个问题中,我们定义 W=(n-1)! 现在请你计算收集齐所有卡片的天数期望是多少。

分析

参考博客https://blog.csdn.net/qq_36553623/article/details/76696158

   假设我们已经有了a张照片,想要得到第a+1张,我们抽中一张新卡的概率为 (n-a)/n 那么期望进行的次数是 1/p=n/(n-a)。可以通过等比数列求和再取一下极限得到这个式子。

   有了这个式子就很好做了啊,从0到n-1枚举a,然后把他们的期望次数加起来。因为将这个问题分成n个独立事件去考虑,总期望等于各个期望的和。

技术分享图片
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <iostream>
using namespace std;
int n,T,w;
double ans;
int main(){
    scanf("%d",&T);
    for(int t=1;t<=T;t++){
        ans=0;
        w=1;
        scanf("%d",&n);
        for(int i=1;i<n;i++)w=w*i;
        for(int i=0;i<n;i++){
            ans+=(double)n/(n-i);
        }
        ans=ans*w;
        printf("%.1f\n",ans);
    }
return 0;
}
View Code

 

【FZU2278】YYS

标签:src   cstring   color   收集   分享   硬币   spl   can   博客   

原文地址:https://www.cnblogs.com/LQLlulu/p/8955401.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!