概率dp lightoj 1342

Posted pangbi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了概率dp lightoj 1342相关的知识,希望对你有一定的参考价值。

题意:有N根木棍,每根木棍都有一个权值 其中有若干根可识别,若干根不可识别的,抽到了可识别的棍子,就不放回,抽到了不可识别的,就要放回 ,问所有棍子都至少被抽过一次后权值和的期望

不可识别的棍子,就相当于投掷一个质地均匀的骰子,问每一个面至少出现一次的期望投掷次数;

而这道题用到的是每一个权值出现的次数,故将期望投掷次数除以总的个数,就是个别的期望投掷次数;

 1 #include <vector>
 2 #include <stdio.h>
 3 #include <stdlib.h>
 4 #include <string.h>
 5 #include <iostream>
 6 #include <algorithm>
 7 using namespace std;
 8 double f[5005];
 9 int main()
10     double ans;
11     int i,j,n,x,y,t,cas;
12     f[0]=0;
13     for(i=1;i<=5000;i++)
14     f[i]=f[i-1]+1.0/i;
15     scanf("%d",&t);                             //有标记过的木棍一定只被抽到一次
16     for(cas=1;cas<=t;cas++)                    //而剩下的就情况就是论文题,如果
17         scanf("%d",&n);                         //权值都为1,那么每个木棍的期望为
18         ans=0;                                  //1/1+1/2+1/3+...+1/n
19         for(i=1;i<=n;i++)                      //有权值后则每根木棍再乘上权值
20             scanf("%d%d",&x,&y);
21             if(y==1)
22             ans+=x;
23             else
24             ans+=x*f[n];
25         
26         printf("Case %d: %.5lf\n",cas,ans);
27     
28     return 0;
29 

 

以上是关于概率dp lightoj 1342的主要内容,如果未能解决你的问题,请参考以下文章

lightoj1038_概率dp

LightOJ - 1030 概率dp

LightOJ - 1151概率dp+高斯消元

LightOJ1030 Discovering Gold(概率DP)

LightOJ - 1079 (概率?DP!01背包中量的选择)

概率 dp lightoj 1395