CDOJ 1135 邱老师看电影 概率dp
邱老师看电影
Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others)
一天邱老师心血来潮想去看电影,但是邱老师的妹子想去逛街,他们谁也没有办法说服对方,于是准备来玩一个游戏来决定听谁的。
邱老师找来w只白鼠和b只黑鼠,邱老师和妹子轮流从袋子里面抓老鼠,谁先抓到白色老鼠谁就赢。
但是有酱神在旁边捣乱,邱老师每抓一只老鼠出来,酱神就偷偷的也从里面抓一只出来,这3个人抓出来的老鼠都是随机的。
如果袋子里没有白老鼠,且之前没有人拿到白老鼠的时候,邱老师胜。
为了体现绅士精神,邱老师让妹子先抓,那么妹子赢的概率是多少呐?
Input
只有两个数字 w和b w<=1000 b<=1000
Output
输出妹子赢的概率 保留9位小数
Sample input and output
| Sample Input | Sample Output |
|---|---|
1 3 |
0.500000000 |
Source
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <vector>
#include <queue>
#include <stack>
#include <map>
#include <algorithm>
#include <set>
using namespace std;
typedef long long ll;
typedef unsigned long long Ull;
#define MM(a,b) memset(a,b,sizeof(a));
const double eps = 1e-10;
const int inf =0x7f7f7f7f;
const double pi=acos(-1);
const int N=1005; double dp[N][N];
int main()
{ for(int i=1;i<=1000;i++) {dp[0][i]=0;dp[i][0]=1;} for(int i=1;i<=1000;i++)
{
double ix=i;
dp[i][1]=ix/(ix+1);
} dp[1][2]=1.0/3;
for(int i=2;i<=1000;i++)
{
double ix=i;
dp[i][2]=ix/(ix+2)+2/(ix+2)*1/(ix+1);
} for(int w=1;w<=1000;w++)
for(int b=3;b<=1000;b++)
{
double w1=w,b1=b;
dp[w][b]=w1/(w1+b1)+
b1/(w1+b1)*(b1-1)/(w1+b1-1)*
(w1/(w1+b1-2)*dp[w-1][b-2]+(b1-2)/(w1+b1-2)*dp[w][b-3]);
} int w,b;
while(~scanf("%d%d",&w,&b))
printf("%.9f\n",dp[w][b]);
return 0;
}
概率递推公式:
dp[w][b]=w1/(w1+b1)+
b1/(w1+b1)*(b1-1)/(w1+b1-1)*
(w1/(w1+b1-2)*dp[w-1][b-2]+(b1-2)/(w1+b1-2)*dp[w][b-3]);
所以需要预处理出 dp[0][i],dp[i][0],dp[i][1],dp[i][2]四种特殊情况
CDOJ 1135 邱老师看电影 概率dp的更多相关文章
- UESTC 2015dp专题 F 邱老师看电影 概率dp
邱老师看电影 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/contest/show/65 Descr ...
- UESTC_邱老师看电影 2015 UESTC Training for Dynamic Programming<Problem F>
F - 邱老师看电影 Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Submi ...
- [dp]uestc oj 邱老师看电影
定义状态dp[w][b]表示有w只白老鼠,b只黑老鼠时妹子赢的概率,分两种情况妹子抓到白老鼠概率为w/(w+b)和否则只有妹子抓黑老鼠和邱老师抓黑老鼠妹子才可能赢,再分两种情况:酱神抓白老鼠,状态 ...
- cdoj 邱老师看电影
//第一次写概率dp //写成记忆化搜索的形式比递推要更方便易懂 //不过好像还是可以写成递推的形式的 但是比较那个…… #include<cstdio> #include<iost ...
- TTTTTTTTTTTTT CDOJ 1136 邱老师玩游戏 树形dp
邱老师玩游戏 Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Submit St ...
- UESTC 2015dp专题 H 邱老师选妹子 数位dp
邱老师选妹子 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/contest/show/65 Descr ...
- UESTC 2015dp专题 G 邱老师玩游戏 背包dp
邱老师玩游戏 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/contest/show/65 Descr ...
- cdoj 1136 邱老师玩游戏 树形背包
邱老师玩游戏 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/problem/show/1136 Desc ...
- 邱老师玩游戏(树形DP) UESTC - 1136
邱老师最近在玩一种战略游戏,在一个地图上,有N座城堡,每座城堡都有一定的宝物,在每次游戏中邱老师允许攻克M个城堡并获得里面的宝物. 但由于地理位置原因,有些城堡不能直接攻克,要攻克这些城堡必须先攻克其 ...
随机推荐
- Ansible-批量导入key(入门)
系统是centos7.5 python2.75 yum install -y ansible ssh-keygen -t rsa vim /etc/ansible/hosts 定义的一个hello组: ...
- 怎样禁止 html 中 <textarea> 标签可以拉伸改变大小 ?
1. 一般来说, 使用 <textarea> 这个标签都会禁用掉它的这个默认属性, 不然可能会被用户玩儿坏, 而且也不利于其他元素的展示, 使用到的属性是 resize , 改为 none ...
- 怎样理解 Vue 中的 v-if 和 v-show ?
1. v-if 实现了真正的 条件渲染, 条件为真时, 节点被创建, 相应的监听函数也会生效, 条件为假时, 节点被销毁, 触发事件监听函数不会生效. 而 v-show 只是使用了 display:n ...
- O055、Detach Volume 操作
参考https://www.cnblogs.com/CloudMan6/p/5636510.html 本节我们开始学习 Volume Detach 操作,就是将Volume从Instance上 ...
- PHP获取某段文字作为标题
<?php mb_internal_encoding('utf-8'); // 提取文字标题,多余文字用省略号替换 $arr=[ '用心用情用功,进行无愧于时代的文艺创造', '一图了解第二届一 ...
- linux下内存检测工具的使用和对比
linux背后隐藏着各种丰富的工具,学会这些工具,让这些工具更好地服务于我们的项目开发,不仅可以提高工作的效率,而且可以增强个人技术力. 参考:http://blog.chinaunix.net/ui ...
- Java高并发程序设计学习笔记(六):JDK并发包(线程池的基本使用、ForkJoin)
转自:https://blog.csdn.net/dataiyangu/article/details/86573222 1. 线程池的基本使用1.1. 为什么需要线程池1.2. JDK为我们提供了哪 ...
- 卡尔曼(Kalman)滤波及十种数据采集滤波的方法和编程实例
卡尔曼(Kalman)滤波:https://blog.csdn.net/CSDN_X_W/article/details/90289021 十种数据采集滤波的方法和编程实例:https://wenku ...
- php.ini配置文件参数中文说明文档
转自 https://blog.csdn.net/seoyundu/article/details/101147041 中文翻译php.ini配置文件 [PHP php.ini-dist] ;;;; ...
- php 获取网址参数
echo "rewrite: ".$_GET["rewrite"]; echo "<br>SERVER_PORT: ".$_SE ...