zoukankan      html  css  js  c++  java
  • UVa11427 Expect the Expected

    第一次做这种题,顺便花了一个上午学习了一下概率与期望的相关知识.

    本题需要的知识点:

    1. 条件概率与独立性.

    2. 期望的几何分布, 通俗的说---,

    做一件事(每次独立)成功概率是P,第一次做成时做的次数的期望就是1/P

    学了这些, 你就能 做出来 看得懂题解了

    #include <cstdio>
    #include <cstring>
    #include <iostream>
    #include <algorithm>
    using namespace std;
    const int MAXN = 1e2 + 20;
    
    int N;
    double P;double d[MAXN][MAXN];
    
    int main()
    {
        int T, t = 0; cin>>T;
        while(T--)
        {
            int x, y;
            scanf("%d/%d%d", &x, &y, &N);
            P = 1.0 * x / y;
            
            memset(d, 0, sizeof(d));
            d[0][0] = 1.0, d[0][1] = 0.0;
            for(int i = 1; i <= N; i++)
                for(int j = 0; j * y <= x * i; j++){
                    d[i][j] = d[i - 1][j] * (1 - P);
                    if(j) d[i][j] += d[i - 1][j - 1] * P;
                 }
             double Q = 0.0;
             for(int j = 0; j * y <= x * N; j++) Q += d[N][j];
             printf("Case #%d: %d
    ", ++t, (int) (1 / Q));
        }
        return 0;
    }
  • 相关阅读:
    自动封箱和拆箱
    关于Java的一道内存的题目
    volatile关键字
    阶乘尾零
    Java之final的解析
    从1到n整数中1出现的次数
    最小安装雷达数量
    二叉树重建
    最短路径—Dijkstra算法
    PAT A1063——set的常见用法详解
  • 原文地址:https://www.cnblogs.com/wsmrxc/p/9289384.html
Copyright © 2011-2022 走看看