bzoj 1419 Red is good - 动态规划 - 概率与期望
Description
Input
Output
Sample Input
Sample Output
HINT
输出答案时,小数点后第六位后的全部去掉,不要四舍五入.
(题目太简洁,不需要大意)
这道题和poj的Collecting Bugs有些类似,一样是倒推。
用f[i][j]表示i张红牌和j张黑白时的最优答案。
对于初值显然有 f[i][] = 0 ,对于转移,根据题目意思转移就好了,考虑是摸到红牌还是黑牌,然后和0取max。
Code'
/**
* bzoj
* Problem#1419
* Accepted
* Time: 1388ms
* Memory: 1368k
*/
#include <bits/stdc++.h>
using namespace std;
#define smax(_a, _b) _a = (_a > _b) ? (_a) : (_b) const int N = ; int R, B;
double f[][N]; inline void init() {
scanf("%d%d", &R, &B);
} inline void solve() {
int t = ;
for(int i = ; i <= R; i++) {
t ^= ;
f[t][] = i;
for(int j = ; j <= B; j++) {
f[t][j] = (f[t ^ ][j] + 1.0) * i + (f[t][j - ] - 1.0) * j;
f[t][j] /= i + j;
if(f[t][j] < )
f[t][j] = ;
}
}
printf("%.6lf", f[t][B] - 5e-);
} int main() {
init();
solve();
return ;
}
bzoj 1419 Red is good - 动态规划 - 概率与期望的更多相关文章
- 【BZOJ 1419】1419: Red is good (概率DP)
1419: Red is good Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 807 Solved: 343 Description 桌面上有R张 ...
- BZOJ 1419: Red is good
Sol 期望DP. \(f[i][j]\) 表示剩下 \(i\) 张红牌, \(j\) 张黑牌的期望. 有转移方程. \(f[i][j]=0,i=0\) 没有红色牌了,最优方案就是不再翻了. \(f[ ...
- bzoj 4008 亚瑟王 - 动态规划 - 概率与期望
Description 小 K 不慎被 LL 邪教洗脑了,洗脑程度深到他甚至想要从亚瑟王邪教中脱坑. 他决定,在脱坑之前,最后再来打一盘亚瑟王.既然是最后一战,就一定要打得漂 亮.众所周知,亚瑟王是一 ...
- BZOJ——1419: Red is good
http://www.lydsy.com/JudgeOnline/problem.php?id=1419 Time Limit: 10 Sec Memory Limit: 64 MBSubmit: ...
- bzoj 4318 OSU! - 动态规划 - 概率与期望
Description osu 是一款群众喜闻乐见的休闲软件. 我们可以把osu的规则简化与改编成以下的样子: 一共有n次操作,每次操作只有成功与失败之分,成功对应1,失败对应0,n次操作对应为1 ...
- 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 ...
- 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 ...
- BZOJ 1419: Red is good 期望dp
数学期望可以理解成一个 DAG 模型. Code: #include <bits/stdc++.h> #define N 5003 #define ll long long #define ...
- Codeforces 866C Gotta Go Fast - 动态规划 - 概率与期望 - 二分答案
You're trying to set the record on your favorite video game. The game consists of N levels, which mu ...
随机推荐
- 解决Windows内存问题的两个小工具RamMap和VMMap
解决Windows内存问题需要对操作系统的深入理解,同时对于如何运用Windows调试器或性能监控器要有工作认知.如果你正试着得到细节,诸如内核堆栈大小或硬盘内存消耗,你会需要调试器命令和内核数据架构 ...
- Mysql由浅入深
1. Mysql的安装方式 1. yum安装mysql 适合对数据库要求不太高的场合,例如:并发不大,公司内部,企业内部. 1. 官网下载yum源,wget https://dev.mysql.c ...
- C# Control.Invoke匿名委托
if (txbValue.InvokeRequired) txbValue.Invoke(new MethodInvoker(delegate() { ...
- Rstudio 01 连接MySQL
> install.packages("RMySQL") also installing the dependency ‘DBI’ trying URL 'https://c ...
- python 爬起点目录
#目标:书名,简介,作者,字数 #首先确定源代码的列表 import urllib.request import re from bs4 import BeautifulSoup import ran ...
- ubuntu安装python-mysqldb
前期准备: sudo apt-get install libmysqld-dev sudo apt-get install libmysqlclient-dev sudo apt-get insta ...
- 转 VS2010 RDLC 横向合并时“未正确设置 tablix“Tablix1”的 FixedData 属性”错误解决方法 .
最近在使用Rdlc做报表打印,有些报表的表头需要合并表头.Rdlc本身提供了横向合并的工具,但是在实际合并的时候,会出现“未正确设置 tablix“Tablix1”的 FixedData 属性.除非在 ...
- poj2417 Baby-StepGiant-StepAlgorithm a^x=b%P
#include <iostream> #include <algorithm> #include <string.h> #include <cstdio&g ...
- 【转】C#中base关键字的几种用法
base其实最大的使用地方在面相对性开发的多态性上,base可以完成创建派生类实例时调用其基类构造函数或者调用基类上已被其他方法重写的方法.例如: 2.1关于base调用基类构造函数 public c ...
- JVM探秘3---垃圾回收机制详解
众所周知,Java有自己的垃圾回收机制,它可以有效的释放系统资源,提高系统的运行效率.那么它是怎么运行的呢,这次就来详细解析下Java的垃圾回收 1.什么是垃圾? 垃圾回收回收的自然是垃圾,那么jav ...