【BZOJ1419】Red is good

Description

桌面上有R张红牌和B张黑牌,随机打乱顺序后放在桌面上,开始一张一张地翻牌,翻到红牌得到1美元,黑牌则付出1美元。可以随时停止翻牌,在最优策略下平均能得到多少钱。

Input

一行输入两个数R,B,其值在0到5000之间

Output

在最优策略下平均能得到多少钱。

Sample Input

5 1

Sample Output

4.166666

HINT

输出答案时,小数点后第六位后的全部去掉,不要四舍五入.

题解:用f[i][j]表示还剩i张红牌,j张黑牌,期望得到的钱数是多少。那么如果期望为正则抽牌,否则不抽。

#include <cstdio>
#include <iostream>
#include <cstring>
using namespace std;
double f[2][5010];
int n,m;
int main()
{
scanf("%d%d",&n,&m);
int i,j;
for(i=0;i<=n;i++)
{
for(j=0;j<=m;j++)
{
f[i&1][j]=max(0.0,((!i?0:f[(i&1)^1][j]+1)*i/(i+j))+(!j?0:(f[i&1][j-1]-1)*j/(i+j)));
}
}
printf("%.6lf",f[n&1][m]-0.0000005);
return 0;
}

【BZOJ1419】Red is good 期望的更多相关文章

  1. 2018.08.31 bzoj1419 Red is good(期望dp)

    描述 桌面上有R张红牌和B张黑牌,随机打乱顺序后放在桌面上,开始一张一张地翻牌,翻到红牌得到1美元,黑牌则付 出1美元.可以随时停止翻牌,在最优策略下平均能得到多少钱. 输入 一行输入两个数R,B,其 ...

  2. 【BZOJ1419】 Red is good [期望DP]

    Red is good Time Limit: 10 Sec  Memory Limit: 64 MB[Submit][Status][Discuss] Description 桌面上有R张红牌和B张 ...

  3. 【BZOJ1419】Red is good 期望DP

    题目大意 桌面上有\(R\)张红牌和\(B\)张黑牌,随机打乱顺序后放在桌面上,开始一张一张地翻牌,翻到红牌得到\(1\)美元,黑牌则付出\(1\)美元.可以随时停止翻牌,在最优策略下平均能得到多少钱 ...

  4. [BZOJ1419] Red is good(期望DP)

    传送门 逆推 只不过顺序还是顺着的,思想是逆着的 f[i][j]表示还剩下i张红牌,j张黑牌的期望值 那么边界是 f[i][0]=i,因为只剩i张红牌 f[0][j]=0,只剩黑牌,显然直接停止最优 ...

  5. BZOJ1419: Red is good

    1419: Red is good Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 639  Solved: 247[Submit][Status][Di ...

  6. BZOJ 1419 Red is good ——期望DP

    定义f[i][j]表示还剩i张红牌,j张黑牌的时候能取得的期望最大值 显然有$f[i][j]=max(0,\frac {i}{i+j}(f[i-1][j]+1)+ \frac {j}{i+j}(f[i ...

  7. BZOJ 1419: Red is good 期望dp

    数学期望可以理解成一个 DAG 模型. Code: #include <bits/stdc++.h> #define N 5003 #define ll long long #define ...

  8. 【BZOJ-1419】Red is good 概率期望DP

    1419: Red is good Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 660  Solved: 257[Submit][Status][Di ...

  9. bzoj 1419 Red is good(期望DP)

    [题意] R红B蓝,选红得1选蓝失1,问最优状态下的期望得分. [思路] 设f[i][j]为i个Rj个B时的最优期望得分,则有转移式为: f[i][j]=max{ 0,(f[i-1][j]+1)*(i ...

随机推荐

  1. Java手机游戏开发简明教程 (SunJava开发者认证程序员 郎锐)

    原文发布时间为:2008-07-30 -- 来源于本人的百度文章 [由搬家工具导入] Java手机游戏开发实例简明教程 (SunJava开发者认证程序员 郎锐)一、手机游戏编写基础1.手机游戏设计的基 ...

  2. PHP文件函数

    PHP文件函数 函数 描述 PHPbasename() 返回路径中的文件名部分. 3chgrp() 改变文件组. 3chmod() 改变文件模式. 3chown() 改变文件所有者. 3clearst ...

  3. cmake ccmake

    下载libqrencode源码编译过程 git clone https://github.com/fukuchi/libqrencode.git 2001  mkdir build 2002  cd ...

  4. Linux终端颜色设置

    http://blog.sina.com.cn/s/blog_65a8ab5d0101g6cf.html http://www.tuicool.com/articles/NRZfIj #PS1='${ ...

  5. 实验一 Java实验环境搭建

    一 :搭建Java环境 (1)打开IE浏览器,输入网址”https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads ...

  6. IE使用多彩文档上传数据库报错

    使用多彩文档,用IE浏览器提交表单,双引号里面包含单引号,导致数据库插入不了,而用chrome浏览器不会报错,自动过滤单引号, 解决:content.replace("'", &q ...

  7. jquery操作checkbox方法(全选、全不选、至少选择一个、选择值/文本)

    原文:http://blog.csdn.net/u014079773/article/details/52371382 在实际开发中我们经常操作checkbox,不仅仅要获得checkbox选中的值, ...

  8. android studio C/C++ jni 编写以及调试方法

    原文路径: http://blog.sina.com.cn/s/blog_ad64b8200102vnxl.html 目录 开发环境 2 编写hello_jni程序 2 运行结果 10 调试程序 10 ...

  9. Go -- etcd详解(转)

    CoreOS是一个基于Docker的轻量级容器化Linux发行版,专为大型数据中心而设计,旨在通过轻量的系统架构和灵活的应用程序部署能力简化数据中心的维护成本和复杂度.CoreOS作为Docker生态 ...

  10. Android常见的三种内部类

    在java里类中再定义类,这种在其他类内部类叫做内部类,在Android开发里最常见有三种内部类分别是(成员内部类.方法内部类.匿名内部类) 一.成员内部类 1 public class Test { ...