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天的天气. 分析:这是引自机器学习中隐马尔科夫模型的入门模型,其实 ...
随机推荐
- 经典回忆Effective C++ 1
c++ 联邦语言: typedef { unit C; unit Object-Oriented C++; unit Template C++; unit STL; }; notice: C++高效编 ...
- Spring MVC中一般 普通类调用service
在Spring MVC中,Controller中使用service只需使用注解@Resource就行,但是一般类(即不使用@Controller注解的类)要用到service时,可用如下方法: 1.S ...
- 《JavaScript设计模式与开发实践》读书笔记之代理模式
1.代理模式 代理模式是为一个对象提供一个代用品或占位符,以便控制对它的访问 1.1 一般的图片加载 var myImage=(function () { var imgNode=document.c ...
- My97 DatePicker
支持日期以及时分秒的选择, 国人开发, 还不错! 官网: http://www.my97.net/
- 【前段开发】行内元素和块级元素总结(HTML CSS)
块级元素 <address> information on author <blockquote> long quotation <button> push but ...
- Android中Dialog的使用
上一篇博文讲到对话框popWindow的使用,这篇博文主要解说Dialog的使用. 1.什么是Dialog? Dialog就是对话框的一种方式! 在Android开发中.我们常常会须要在Android ...
- centos6.5安装nodejs
Preface(前言) 一次偶然的机会知道有nodejs这个东西,确实对它还是非常感兴趣的.刚開始仅仅知道它能让javascript写后台,然后前后台都由javascript来写,确实认为真的挺爽,毕 ...
- C#新DataColumn类Type生成的方法类型参数
DataColumn有的需要等级Type构造类型的参数,如以下: // // 摘要: // 使用指定列名称和数据类型初始化 System.Data.DataColumn 类的新实例. // // 參数 ...
- C++ 建设者继承
微通道公用号CodingRush 分享编程.算法.机器人leanring.数据挖掘.推荐系统.知识大数据计算框架,欢迎扫码关注. 子类继承了哪些东西? 子类在继承父类的时候,父类的public成员变量 ...
- Coreseek:部门查询和增量索引代替实时索引
1.行业调查 索引系统需要通过主查询来获取所有的文档信息,一个简单的实现是整个表的数据到内存,但是这可能会导致整个表被锁定,并且使其它操作被阻止(例如:在MyISAM格款式上INSERT操作).同时, ...