oj_470 Red is good
来源:互联网 发布:嗟乎读音是什么 编辑:程序博客网 时间:2024/04/30 13:08
题目描述
Problem 470: Red is good
Time Limit: 1000 ms
Memory Limit: 524288 KB
Problem Description
桌面上有R张红牌和B张黑牌,随机打乱顺序后放在桌面上,开始一张一张地翻牌,翻到红牌得到1美元,黑牌则付出1美元。可以随时停止翻牌,在最优策略下平均能得到多少钱。 输出答案时,小数点后第六位后的全部去掉,不要四舍五入.
Input
一行输入两个数R,B,其值在0到5000之间
Output
在最优策略下平均能得到多少钱。
Sample Input
5 1
Sample Output
4.166666
题解
概率期望
和的期望==期望的和
输出答案时,小数点后第六位后的全部去掉,不要四舍五入.
可以用滚动数组
所以
f【i】【j】表示剩余i个red,j个black的期望值
滚动后f【j】表示剩余j个black的期望值
因为期望值为负时,还不如break
所以f[j]=max(f[j],(double)0);
最后要注意精度问题
f【m】=f【m】-0.0000005
代码
#include<cstdio>#include<iostream>#include<cmath>#define N 5010using namespace std;double f[N];int n,m;int main(){ scanf("%d%d",&n,&m); for(int i=0;i<=n;i++){ for(int j=0;j<=m;j++){ if(i>0)f[j]=((double)i/(double)(i+j))*(f[j]+1); //转移 if(j>0)f[j]+=((double)j/(double)(i+j))*(f[j-1]-1); f[j]=max(f[j],(double)0); } } printf("%.6f\n",f[m]-0.0000005);}
0 0
- oj_470 Red is good
- Red is good (DP)
- [HbFS-]Red is good
- [HbFS-]Red is good
- bzoj1419: Red is good
- Bzoj1419 Red is good
- Red is good
- bzoj 1419: Red is good
- BZOJ 1419 Red is good
- BZOJ 1419: red is good
- 【BZOJ】1419 Red is Good
- 作业6:Red is Good
- 概率DP RED IS GOOD
- 【BZOJ】【P1419】【Red is good】【题解】【DP】
- BZOJ 1419 Red is good 期望DP
- BZOJ 1419: Red is good|期望Dp
- 【bzoj1419】Red is good 期望dp
- bzoj 1419: Red is good 期望dp
- 工作中常用的linux命令
- 深度学习(四):高级卷积神经网络
- 浮动与清除浮动
- [Unity3D课堂作业] 打飞碟 PlayDarts
- 二维数组中的查找
- oj_470 Red is good
- 北邮OJ-109. 中序遍历树-11网研上机C
- 功件与面向功件编程
- L2-002. 链表去重
- L3-008. 喊山 天梯初赛
- 蓝桥杯题 无穷分数
- 第三周
- 字符串最后一个单词的长度
- 写一个函数返回参数二进制中 1 的个数