zoukankan      html  css  js  c++  java
  • hdu 4465 Candy

      负二项分布:又称帕斯卡分布。

      它表示,已知一个事件在伯努利试验中每次的出现概率是p,在一连串伯努利试验中,一件事件刚好在第r+k次实验中出现第r次的概率。

      题意:有两罐糖果,初始化每罐有n个糖果,每次取第一罐糖果的概率是p,则另一罐是1-p,求当打开一罐发现为空时,另一罐糖果数目的期望。

      直接计算会向下溢出。

    #include<stdio.h>
    #include<math.h>
    
    int n;
    double p,q;
    double f[400005];
    double logC(int m,int n)
    {
        return f[m]-f[n]-f[m-n];
    }
    int main()
    {
        int cas=1;
        f[0]=0;
        for(int i=1;i<=400002;i++)  f[i]=f[i-1]+log(i*1.0);
        while(scanf("%d%lf",&n,&p)!=EOF)
        {
            q=1-p;
            double ans=0;
            for(int k=0;k<=n;k++)
                ans+=(n-k)*(exp(logC(n+k,k)+(n+1)*log(q*1.0)+k*log(p*1.0))+exp(logC(n+k,k)+(n+1)*log(p*1.0)+k*log(q*1.0)));
            printf("Case %d: %.6lf
    ",cas++,ans);
        }
        return 0;
    }
  • 相关阅读:
    小D课堂
    小D课堂
    小D课堂
    小D课堂
    小D课堂
    小D课堂
    小D课堂
    小D课堂
    小D课堂
    小D课堂
  • 原文地址:https://www.cnblogs.com/yongren1zu/p/3250255.html
Copyright © 2011-2022 走看看