zoukankan      html  css  js  c++  java
  • [hdu4405]Aeroplane chess(概率dp)

    题意:某人掷骰子,数轴上前进相应的步数,会有瞬移的情况,求从0到N所需要的期望投掷次数。

    解题关键:期望dp的套路解法,一个状态可以转化为6个状态,则该状态的期望,可以由6个状态转化而来。再加上两个状态的消耗即可。

     1 #include<cstdio>
     2 #include<cstring>
     3 #include<algorithm>
     4 #include<cstdlib>
     5 #include<cmath>
     6 #include<iostream>
     7 using namespace std;
     8 typedef long long ll;
     9 //const int inf=0x3f3f3f3f;
    10 const int maxn=1e5+7;
    11 int v[maxn];
    12 double dp[maxn];
    13 int main(){
    14     ios::sync_with_stdio(0);
    15     int n,m,a,b;
    16     while(cin>>n>>m&&(n||m)){
    17         memset(dp, 0, sizeof dp);
    18         memset(v, 0, sizeof v);
    19         for(int i=0;i<m;i++){
    20             cin>>a>>b;
    21             v[a]=b;
    22         }
    23         for(int i=n-1;i>=0;i--){
    24             if(v[i]){
    25                 dp[i]=dp[v[i]];
    26                 continue;
    27             }
    28             for(int j=1;j<=6;j++){
    29                 dp[i]+=dp[i+j]/6.0;
    30             }
    31             dp[i]+=1;
    32         }
    33         printf("%.4f
    ",dp[0]);
    34     }
    35 }
  • 相关阅读:
    IIS7,iis6 管道模型及处理差异
    web相关基础知识4
    web相关基础知识3
    web相关基础知识2
    web相关基础知识1
    有关于PHP的基础知识
    软件工程课程建议
    结对编程-四则运算
    结对编程
    关于问卷调查的心得体会
  • 原文地址:https://www.cnblogs.com/elpsycongroo/p/7457637.html
Copyright © 2011-2022 走看看