博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
codeforces-148D-Bag of mice-概率DP
阅读量:6237 次
发布时间:2019-06-22

本文共 878 字,大约阅读时间需要 2 分钟。

dp[x][y]:如今有x个白老鼠,y个黑老鼠,公主赢的概率。

那么:

假设公主直接拿到白老鼠,概率为x/(x+y),公主赢。

假设公主拿到黑老鼠,概率为y/(x+y),那么公主假设想赢,龙必须拿到黑老鼠,概率为(y-1)/(x+y-1);

那么逃跑的老鼠为黑老鼠的概率为(y-2)/(x+y-2),为白老鼠的概率为(x)/(x+y-2);

那么dp[x][y]=x/(x+y)+y/(x+y) * (y-1)/(x+y-1) * ( (y-2)/(x+y-2)  * dp[x][y-3]   +  (x)/(x+y-2)  *  dp[x-1][y-2] );

记忆化深搜也行,直接递推DP也行。

#include 
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;#define N 100010#define LL long long#define INF 0xfffffff#define maxn 1100double dp[maxn][maxn];double dos(int x,int y){ if(x<0||y<0)return 0; if(x==0)return 0; if(y==0)return 1; if(dp[x][y]>-0.5)return dp[x][y]; double a,b; a=1.0*x; b=1.0*y; dp[x][y]=a/(a+b); if(x+y>=3) { dp[x][y]+=(b*(b-1)/((a+b)*(a+b-1)))* (dos(x-1,y-2)*a/(a+b-2)+dos(x,y-3)*(b-2)/(a+b-2)); } // cout<
<<" "<
<<" "<
<

转载地址:http://rlzia.baihongyu.com/

你可能感兴趣的文章
JDBC的事务
查看>>
App 卸载记录
查看>>
JavaScript变量和作用域
查看>>
开源SIP服务器加密软件NethidPro升级
查看>>
Apache Pulsar中的地域复制,第1篇:概念和功能
查看>>
python pip install 出现 OSError: [Errno 1] Operation not permitted
查看>>
从源码分析scrollTo、scrollBy、Scroller方法的区别和作用
查看>>
ObjectOutputStream和ObjectInputStream
查看>>
南京大学周志华教授当选欧洲科学院外籍院士
查看>>
马士兵教学语录
查看>>
计算机网络与Internet应用
查看>>
oracle在线迁移同步数据,数据库报错
查看>>
linux性能剖析工具
查看>>
flutter中的异步
查看>>
计算机高手也不能编出俄罗斯方块——计算机达人成长之路(16)
查看>>
error LNK2001: 无法解析的外部符号 __CrtDbgReport
查看>>
【多线程】的简单理解&进程 and【你的电脑是几核的?】
查看>>
# 2017-2018-1 20155224 《信息安全系统设计基础》第七周学习总结
查看>>
scikit-learn预处理实例之一:使用FunctionTransformer选择列
查看>>
【距离GDOI:137天】 扩展KMP...字符串QAQ
查看>>