zoukankan      html  css  js  c++  java
  • 概率dp——cf148D

     求概率应该dp数组应该顺着求

    这是由初始状态来决定递推方向的

    /*
    盒子里有两种颜色的球,一种是黑色另一种是白色
    AB轮流去球,A先取
    A每次随机摸一个球 
    B每次随机摸一个球,然后盒子里再丢一个球 
    先摸到白球者获胜,如果袋里没球了,那么B获胜 
    dp[i][j]:还剩i白,j黑色时A获胜的概率
    三种情况
        A摸了白球 
        A摸了黑球 龙摸了黑球 丢了黑球
                             丢了白球                           
    */
    #include<bits/stdc++.h>
    using namespace std;
    
    const double esp = 1e-7;
    const int maxn = 1050;
    
    int w,b;
    double dp[maxn][maxn];
    
    int main(){
        cin>>w>>b;
        for(int i=1;i<=w;i++)dp[i][0]=1;
        for(int i=1;i<=w;i++)
            for(int j=1;j<=b;j++){
                dp[i][j]+=(double)i/(i+j);
                if(j>=3)
                    dp[i][j]+=(double)j/(i+j) * (double)(j-1)/(i+j-1) * (double)(j-2)/(i+j-2) * dp[i][j-3];
                if(j>=2)
                    dp[i][j]+=(double)j/(i+j) * (double)(j-1)/(i+j-1) * (double)i/(i+j-2) * dp[i-1][j-2];
            } 
        printf("%.10lf
    ",dp[w][b]);
    } 
  • 相关阅读:
    模板模式创建一个poi导出功能
    vim python和golang开发环境配置
    vim快捷键
    golang聊天室
    goroutine与channels
    Redis中的GETBIT和SETBIT(转载)
    二叉树
    满二叉树与完全二叉树
    拓扑排序
    ZigZag Conversion
  • 原文地址:https://www.cnblogs.com/zsben991126/p/11041866.html
Copyright © 2011-2022 走看看