zoukankan      html  css  js  c++  java
  • sgu 495. Kids and Prizes (简单概率dp 正推求期望)

    题目链接

    495. Kids and Prizes

    Time limit per test: 0.25 second(s)
    Memory limit: 262144 kilobytes
    input: standard
    output: standard




    ICPC (International Cardboard Producing Company) is in the business of producing cardboard boxes. Recently the company organized a contest for kids for the best design of a cardboard box and selected M winners. There are N prizes for the winners, each one carefully packed in a cardboard box (made by the ICPC, of course). The awarding process will be as follows:

    • All the boxes with prizes will be stored in a separate room.
    • The winners will enter the room, one at a time.
    • Each winner selects one of the boxes.
    • The selected box is opened by a representative of the organizing committee.
    • If the box contains a prize, the winner takes it.
    • If the box is empty (because the same box has already been selected by one or more previous winners), the winner will instead get a certificate printed on a sheet of excellent cardboard (made by ICPC, of course).
    • Whether there is a prize or not, the box is re-sealed and returned to the room.

    The management of the company would like to know how many prizes will be given by the above process. It is assumed that each winner picks a box at random and that all boxes are equally likely to be picked. Compute the mathematical expectation of the number of prizes given (the certificates are not counted as prizes, of course).

    Input

    The first and only line of the input file contains the values of N and M ().

    Output

    The first and only line of the output file should contain a single real number: the expected number of prizes given out. The answer is accepted as correct if either the absolute or the relative error is less than or equal to 10-9.

    Example(s)
    sample input
    sample output
    5 7
    
    3.951424
    
    sample input
    sample output
    4 3
    
    2.3125
    

    题意:

    有n个奖品放在n个盒子,进行m次选择,每次只能选则一个盒子,如果选到含有奖品的话就把盒子里奖品拿走,盒子始终仍留着。问最终得到到奖品数的期望值。

    分析:

    一看见求期望想逆推,但是发现逆推没办法写初始条件,这是因为取的次数不少无限的,

    只能取m次。

    d[i]代表到第i个人取到奖品数的期望,显然d[i]等于上一个人取到的奖品数加上这个人取到的奖品数,

    这个人取到的奖品数为1的概率为(n-d[i-1])/n,取到奖品数为0的概率为d[i-1]/n,即期望为

    d[i-1]+1*(n-d[i-1])/n+0*d[i-1]/n。

     1 #include <iostream>
     2 #include <cstdio>
     3 #include <cstring>
     4 #include <cstdlib>
     5 #include <queue>
     6 #include <cmath>
     7 #include <algorithm>
     8 #define LL __int64
     9 const int maxn = 1e5+10;
    10 using namespace std;
    11 double d[maxn];
    12 
    13 int main()
    14 {
    15     int n, m, i, j;
    16     while(~scanf("%d%d", &n, &m))
    17     {
    18         d[1] = 1;
    19         for(i = 2; i <= m; i++)
    20         d[i] = d[i-1]+1.0*((double)n-d[i-1])/(double)n;
    21         printf("%.9lf
    ", d[m]);
    22     }
    23     return 0;
    24 }
  • 相关阅读:
    随机森林算法参数调优
    BAYES和朴素BAYES
    阿里云 金融接口 token PHP
    PHP mysql 按时间分组 表格table 跨度 rowspan
    MySql按周,按月,按日分组统计数据
    PHP 获取今日、昨日、本周、上周、本月的等等常用的起始时间戳和结束时间戳的时间处理类
    thinkphp5 tp5 会话控制 session 登录 退出 检查检验登录 判断是否应该跳转到上次url
    微信 模板消息
    php 腾讯 地图 api 计算 坐标 两点 距离 微信 网页 WebService API
    php添加http头禁止浏览器缓存
  • 原文地址:https://www.cnblogs.com/bfshm/p/4075805.html
Copyright © 2011-2022 走看看