zoukankan      html  css  js  c++  java
  • poj 2096 概率dp

    http://poj.org/problem?id=2096

    G++ WA  C++ AC

    题解看这个吧:我没看懂题目,所以找的题解翻译:http://blog.csdn.net/morgan_xww/article/details/6774708

    可是题解里感觉有一点写的不好---初始化应该有两部分:1、dp[s][n]=0.0。以及dp[s+1][j]=0.0  上面那个博客里没有初始化dp[s+1][j]=0.0  由于全局变量


    我的dp[i][j]意思是,前i个子系统。前j种bug的天数期望。

    事实上这道概率DP入门题让我学到的是一种高中学概率无用的的思维方式----由后一阶段推前一阶段的概率/期望


    #include <cstdio>
    #include <iostream>
    using namespace std;
    
    #define rep(i,s,e) for(int i=s;i<e;i++)
    #define reped(i,s,e) for(int i=s;i>=e;i--)
    const int MAXN = 1000+100;
    
    int n,s;
    
    double dp[MAXN][MAXN];
    
    double solve()
    {
        dp[s][n]=0.0;
        rep(i,0,n+1)dp[s+1][i]=0.0;
        reped(i,s,0)
        {
            reped(j,n,0)
            {
                if(i==s && j==n)continue;
                dp[i][j]=(n*s+(s-i)*j*dp[i+1][j]+(s-i)*(n-j)*dp[i+1][j+1]+i*(n-j)*dp[i][j+1])/(n*s-i*j);
            }
        }
        return dp[0][0];
    }
    
    int main()
    {
        while(~scanf("%d%d",&n,&s))
        {
            printf("%.4lf
    ",solve());
        }
        return 0;
    }
    


  • 相关阅读:
    CDN用户访问调度流程
    最近复习原型 终于明白了一点 写下原型相对比较完美的一种继承方式
    flex布局学习
    Vuex基本使用
    Promise的基本使用
    创建对象的几种方式
    父访问子的数据方法
    购物车案例
    插槽的使用
    ref获取DOM元素
  • 原文地址:https://www.cnblogs.com/mfmdaoyou/p/6738187.html
Copyright © 2011-2022 走看看