hdu 3076 ssworld VS DDD (概率dp)
///题意:
/// A,B掷骰子,对于每一次点数大者胜,平为和,A先胜了m次A赢,B先胜了n次B赢。
///p1表示a赢,p2表示b赢,p=1-p1-p2表示平局
///a赢得概率 比一次p1 两次p0*p1 三次 p0^2*p1,即A赢的概率为p1+p*p1+p^2*p1+...p^n*p1,n->无穷
///即a_win=p1/(1-p);b_win=p2/(1-p);
///dp[i][j]表示a赢了j次,b赢了i次的概率
///dp[i][j]=dp[i-1][j]*b_win+dp[i][j-1]*a_win;
///ps:(两人的血量要换一换,数据错了)
# include <stdio.h>
# include <algorithm>
# include <iostream>
# include <string.h>
using namespace std;
double dp[2010][2010];
int main()
{
int i,j,n,m;
double p1,p2,p,a_win,b_win,a[10],b[10];
while(~scanf("%d%d",&m,&n))
{
for(i=1; i<=6; i++)
scanf("%lf",&a[i]);
for(i=1; i<=6; i++)
scanf("%lf",&b[i]);
a_win=0;
b_win=0;
for(i=2; i<=6; i++)
{
for(j=1; j<i; j++)
{
a_win+=a[i]*b[j];
b_win+=b[i]*a[j];
}
}
p1=a_win;
p2=b_win;
p=1-p1-p2;
if(p==1)
printf("0.000000\n");//为平局,a不可能赢
else
{
a_win=p1/(1-p);
b_win=p2/(1-p);
}
memset(dp,0,sizeof(dp));
dp[0][0]=1;
for(i=0; i<n; i++) //b赢得次数
{
for(j=0; j<m; j++) //a赢得次数
{
if(i==0&&j==0)
continue;
dp[i][j]=0;
if(j>0)
dp[i][j]+=dp[i][j-1]*a_win;
if(i>0)
dp[i][j]+=dp[i-1][j]*b_win;
}
}
double ans=0;
for(i=0; i<n; i++)
ans+=dp[i][m-1]*a_win;
if(ans>1)
ans=1;
printf("%.6lf\n",ans);
}
return 0;
}
hdu 3076 ssworld VS DDD (概率dp)的更多相关文章
- HDU 3076 ssworld VS DDD 概率dp,无穷级数,oj错误题目 难度:2
http://acm.hdu.edu.cn/showproblem.php?pid=3076 不可思议的题目,总之血量越少胜率越高,所以读取时把两人的血量交换一下 明显每一轮的胜率和负率都是固定的,所 ...
- hdu3076--ssworld VS DDD(概率dp第三弹,求概率)
ssworld VS DDD Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) T ...
- hdu3076ssworld VS DDD 概率dp
//ssworld VS DDD 两个人有血量值 hp1 , hp2 //两人掷骰子得到每一点的概率已知 //ssword赢的概率 //dp[i][j] 表示有第一个人血量为i.第二个人的血量为j ...
- HDU 5781 ATM Mechine (概率DP)
ATM Mechine 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5781 Description Alice is going to take ...
- HDU 4050 wolf5x(动态规划-概率DP)
wolf5x Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- hdu 4405 Aeroplane chess (概率DP)
Aeroplane chess Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- HDU 4336——Card Collector——————【概率dp】
Card Collector Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...
- HDU 3853:LOOPS(概率DP)
http://acm.split.hdu.edu.cn/showproblem.php?pid=3853 LOOPS Problem Description Akemi Homura is a M ...
- HDU 4865 Peter's Hobby --概率DP
题意:第i天的天气会一定概率地影响第i+1天的天气,也会一定概率地影响这一天的湿度.概率在表中给出.给出n天的湿度,推测概率最大的这n天的天气. 分析:这是引自机器学习中隐马尔科夫模型的入门模型,其实 ...
随机推荐
- 以todomvc为例分析knockout、backbone和angularjs
一.整体结构 项目github地址https://github.com/tastejs/todomvc/ 排除通用的css样式文件和引用的js库文件,仅看html和js 1.1 knockoutjs版 ...
- asp.net Form 认证【转】
第一部分 如何运用 Form 表单认证 一. 新建一个测试项目 为了更好说明,有必要新建一个测试项目(暂且为“FormTest”吧),包含三张页面足矣(Default.aspx.Logi ...
- ecshop中getAll ,getOne ,getRow的区别
ecshop的数据库抽象层其实就是在模仿adodb $GLOBALS['db']->getAll($sql);//以二维关联数组返回所有数据 $GLOBALS['db']->getOne( ...
- LeetCode18:4Sum
Given an array S of n integers, are there elements a, b, c, and d in S such that a + b + c + d = tar ...
- 假防病毒软件从电脑移植到了 Android 平台
以前有位女研究生点击网络钓鱼的链接.随即出现实时扫毒画面的方式,接着呈现了扫毒结果,跑出十余笔病毒数据,记录了被感染的计算机的具体位置,并提示她必须更新防病毒软件,而她在付费两千元后收到"防 ...
- 分布式文件系统FastDFS介绍和配置过程
http://ylw6006.blog.51cto.com/470441/948729/ 由于网站使用nfs共享方式保存用户上传的图片,附件等资料,然后通过apache下载的方式供用户访问,在网站架构 ...
- Linux如何用QQ?Linux下QQ使用的几种方案
在linux下如何使用QQ?在ubuntu11.10中如何使用QQ?或许有初涉linux的人这样问,我们可以看看ubuntusoft总结出来的几种在linux系统下用QQ的方法.前面的几种主要的方法都 ...
- sql dateDiff函数
当月的数据select * from MOPICK where dateDiff(m,getdate(),START_DATE)=0
- Lua学习 1) —— Android呼叫变量值和分配
2014-07-08 Lua脚本语言,嵌入在App中扩展开发是非常不错的. 关于Android与Lua的环境搭配,我直接下载别人编好的.so与.jar(放到libs下就好了) 以下简介一下Androi ...
- nyoj 47 江 河问题 【贪婪】
经典的贪婪. 两种方案:一个:让我们来最快,第二快,在过去的第一,最快的回.然后最慢,最慢第二,在过去.次最快的回来a[0]+a[1]+a[1]+a[n-1] 二:最快的和最慢的过去,最快的回来,最快 ...