• LightOj 1248


    题目链接:http://lightoj.com/volume_showproblem.php?problem=1248

    题意:有一个 n 面的骰子,问至少看到所有的面一次的所需 掷骰子 的 次数的期望;

    第一个面第一次出现的概率是p1 n/n;

    第二个面第一次出现的概率是p2 (n-1)/n;

    第三个面第一次出现的概率是p3 (n-2)/n;

    ...

    第 i 个面第一次出现的概率是pi (n-i+1)/n;

    先看一下什么是几何分布:

    几何分布: 在第n次伯努利试验中,试验 次才得到第一次成功的机率为p。详细的说是:前k-1次皆失败,第k次成功的概率为p。

    几何分布的期望E(X) = 1/p;

    所以所求期望为∑1/pi = n * (1+1/2+1/3+1/4+1/5+...+1/n);

    #include <cstring>
    #include <cstdio>
    #include <iostream>
    #include <algorithm>
    #include <cmath>
    #include <stack>
    #include <vector>
    #include <queue>
    using namespace std;
    #define N 105
    #define met(a, b) memset(a, b, sizeof(a))
    #define MOD 110119
    
    typedef long long LL;
    
    int main()
    {
        int n;
        int T, t = 1;
    
        scanf("%d", &T);
    
        while(T--)
        {
            scanf("%d", &n);
            double sum = 0;
            for(int i=1; i<=n; i++)
                sum += 1.0/i;
            printf("Case %d: %.6f
    ", t++, sum*n);
        }
        return 0;
    }
    View Code
  • 相关阅读:
    pat 1034 Head of a Gang (30分)
    pta坑点
    Devc++ 编译 c++11
    Invitation Cards dijkstra法
    Cube Stacking
    畅通工程
    蚂蚁上树
    洛谷 P1439 【模板】最长公共子序列
    Recursive sequence
    A Simple Math Problem
  • 原文地址:https://www.cnblogs.com/zhengguiping--9876/p/5758993.html
Copyright © 2020-2023  润新知