zoukankan      html  css  js  c++  java
  • 2017乌鲁木齐区域赛A(动态规划,组合数学,期望)

    #include<bits/stdc++.h>
    using namespace std;
    double c[110][110];
    double g[110];
    double dp[110][110];
    int n,m,k;
    void cnm()
    {
        c[0][0]=1;
        for(int i=1;i<=100;i++)
        {
            c[i][0]=1;
            c[i][i]=1;
            for(int j=1;j<i;j++)
            {
                c[i][j]=c[i-1][j-1]+c[i-1][j];//组合数挑选硬币可能的数量
            }
        }
    }
    void gailv()//预处理i枚向上的概率
    {
        g[0]=1;
        for(int i=1;i<=100;i++)
            g[i]=g[i-1]/2;
    }
    int main()
    {
        cnm();
        gailv();
        int t;
        scanf("%d",&t);
        for(int i=1;i<=t;i++)
        {
            memset(dp,0,sizeof(dp));
            scanf("%d%d%d",&n,&m,&k);
            dp[0][0]=1;
            for(int j=0;j<m;j++)
            {
                for(int l=0;l<=n;l++)
                {
                    for(int p=0;p<=k;p++)//抛k枚硬币有p枚向上
                    {
                        if(k+l<=n)//原本向上的枚数加上这次向上的枚数不超过n
                        {
                            dp[j+1][l+p]+=dp[j][l]*c[k][p]*g[k];
                        }
                        else//超过n的话就会有已经向上的被重抛,导致向上的概率变低
                        {
                            dp[j+1][n+p-k]+=dp[j][l]*c[k][p]*g[k];
                        }
                    }
                }
            }
            double sum=0;
            for(int i=1;i<=n;i++)
            {
                sum+=dp[m][i]*i;//概率乘上权值
            }
            printf("%.3f ",sum);//切勿使用%.3lf
        }
        return 0;
    }
     
    保持热爱 不懈努力 不试试看怎么知道会失败呢(划掉) 世上无难事 只要肯放弃(划掉)
  • 相关阅读:
    框架面试题
    Mybatis的配置文件
    better-mybatis-generator逆向工程
    mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz的安装与配置
    apache-tomcat-8.5.40.tar.gz的安装与配置
    Linux系统的CentOS 7安装,Linux系统的登陆, VMware 12(32/64位)下载地址,VMware 15(32/64位)下载地址,安装VMware 12
    jdk-8u211-linux-x64.tar.gz的安装
    Javaweb的学习笔记(部分总结)
    蜂窝背景页面特效
    Linux操作系统ip的设置和vm快照
  • 原文地址:https://www.cnblogs.com/ldudxy/p/9513757.html
Copyright © 2011-2022 走看看