F - Dice (III) LightOJ - 1248

Posted studyshare777

tags:

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

F - Dice (III)

LightOJ - 1248

题目描述:

掷出有n面的色子的全部面,求他的期望。

分析:

期望dp,假设掷出i面,dp[i]表示掷出i面的期望。每次会掷出2种情况:1.掷出不同的面,转移到i+1面,概率为(n-i)/n。2.掷出相同的,状态还是i面,概率为i/n。

且花费为1(每次要投一次)。dp方程:dp[i]=( dp[i+1]+1 ) * (n-i)/n+( dp[i]+1 ) *i/n,化简为dp[i]=dp[i+1]+1+i/(n-i)。(期望dp要逆推)

代码:

#include <cstdio>
#include <algorithm>
#include <iostream>
#include <cstring>
#include <vector>
#include <cmath>
using namespace std;
typedef long long ll;
const int maxn=1e5+6;
double dp[maxn];
int main()
{
    int T,n;
    cin>>T;
    for(int j=1;j<=T;j++)
    {
        cin>>n;
        dp[n]=0;
        for(int i=n-1;i>=0;i--)
        {
            dp[i]=dp[i+1]+1+i*1.0/(n-i);
        }
        printf("Case %d: %.7f
",j,dp[0]);
    }   
    return 0;
}
 

 

以上是关于F - Dice (III) LightOJ - 1248的主要内容,如果未能解决你的问题,请参考以下文章

Dice (III)(概率,期望)

Dice (III)(概率,期望)

1248 - Dice (III)

Dice (III)(概率,期望)

[LightOJ 1248] Dice (III)

Dice (III) LightOJ - 1248