题目大意:每天晚上你都玩纸牌,如果第一次赢了就高高兴兴地去睡觉;如果输了就接着玩,假设每盘游戏获胜的的概率都是p,且各盘游戏相互独立。你是一个固执的完美主义者,因此会一直玩到当晚获胜局数的比例严格大于p时才停止,然后高高兴兴地去睡觉。当然,晚上的时间有限,最懂只玩n盘游戏,如果获胜比例一直不超过p的话,你只能垂头丧气地去睡觉,以后再也不玩纸牌了。你的任务是计算出平均情况下,你会玩多少个晚上的纸牌。

分析:每天晚上的情况相互独立,因此先研究单独一天的情况,计算出只玩一晚上纸牌时,“垂头丧气地去睡觉”的概率Q。

设d(i,j)表示前i局中每局结束后的获胜比例均不超过p,且前i局一共获胜j局的概率,则根据全概率公式有:j/i<=p时d(i,j)=d(i-1,j)*(1-p)+d(i-1,j-1)*p,其他d(i,j)=0,边界为d(0,0)=1,d(0,1)=0。则d(n,0)+d(n,1)+...d(n,n)就是所求的Q(玩n把只赢i把(符合j/i<=p)的概率和)

下面用数学期望的定义来计算游戏总天数X的数学期望。

X=1概率为Q。

X=2概率为Q(1-Q):第一天高高兴兴(概率为1-Q),第二天垂头丧气(概率Q)。

X=3概率为Q(1-Q)^2:前两天高高兴兴(概率为(1-Q)^2),第二天垂头丧气(概率Q)。

……

X=k概率为Q(1-Q)^(k-1):前k-1天高高兴兴(概率为(1-Q)^(k-1)),第k天垂头丧气(概率Q)。

因此数学期望E(X)=Q+2Q(1-Q)+3Q(1-Q)^2+4Q(1-Q)^3……无穷级数求极限

E(X)/Q=1+2(1-Q)+3(1-Q)^2+4(1-Q)^3……                           (1)

E(X)/Q*(1-Q)=(1-Q)+2(1-Q)^2+3(1-Q)^3+4(1-Q)^4……       (2)

由(1)-(2)得(等比数列求和公式sn=a1*(1-q^n)/(1-q))

E(X)=(1-(1-Q)^n)/Q-n(1-Q)^n=1/Q         (0<(1-Q)<1,当n趋向于无穷大的时候lim(1-Q)^n=0)

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std; const int Max=;
double d[Max][Max]; int main()
{
int t,a,b,i,j,Case,n;
double p,Q;
cin>>t;
for(Case=;Case<=t;Case++)
{
scanf("%d/%d %d",&a,&b,&n);
p=(double)a/b;
memset(d,0.0,sizeof(d));
d[][]=1.0;d[][]=0.0;
for(i=;i<=n;i++)
{
for(j=;b*j<=a*i;j++)
{
d[i][j]=d[i-][j]*(-p);
if(j) d[i][j]+=d[i-][j-]*p;
}
}
Q=0.0;
for(i=;i*b<=a*n;i++) Q+=d[n][i];
printf("Case #%d: %d\n",Case,(int)(/Q));
}
return ;
}

uva 11427的更多相关文章

  1. UVA 11427 (概率DP+期望)

    题目链接: http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=35396 题目大意:每晚打游戏.每晚中,赢一局概率p,最多玩n局, ...

  2. UVA 11427 - Expect the Expected(概率递归预期)

    UVA 11427 - Expect the Expected 题目链接 题意:玩一个游戏.赢的概率p,一个晚上能玩n盘,假设n盘都没赢到总赢的盘数比例大于等于p.以后都不再玩了,假设有到p就结束 思 ...

  3. uva 11427 - Expect the Expected(概率)

    题目链接:uva 11427 - Expect the Expected 题目大意:你每天晚上都会玩纸牌,每天固定最多玩n盘,每盘胜利的概率为p,你是一个固执的人,每天一定要保证胜局的比例大于p才会结 ...

  4. UVa 11427 - Expect the Expected

    http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...

  5. UVA 11427 Expect the Expected (期望)

    题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=26&pa ...

  6. UVa 11427 (期望 DP) Expect the Expected

    设d(i, j)表示前i局每局获胜的比例均不超过p,且前i局共获胜j局的概率. d(i, j) = d(i-1, j) * (1-p) + d(i-1, j-1) * p 则只玩一天就就不再玩的概率Q ...

  7. UVA 11427 Expect the Expected(DP+概率)

    链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=35396 [思路] DP+概率 见白书. [代码] #include&l ...

  8. UVA - 11427 Expect the Expected (概率dp)

    Some mathematical background. This problem asks you to compute the expected value of a random variab ...

  9. UVa 11427 Expect the Expected (数学期望 + 概率DP)

    题意:某个人每天晚上都玩游戏,如果第一次就䊨了就高兴的去睡觉了,否则就继续直到赢的局数的比例严格大于 p,并且他每局获胜的概率也是 p,但是你最玩 n 局,但是如果比例一直超不过 p 的话,你将不高兴 ...

  10. UVA.11427.Expect the Expected(期望)

    题目链接 \(Description\) https://blog.csdn.net/Yukizzz/article/details/52084528 \(Solution\) 首先每一天之间是独立的 ...

随机推荐

  1. WPF中的线程使用

    原文:WPF中的线程使用 简介 但凡涉及到图形界面,往往的设计都是不支持或者不推荐使用多个线程操作界面内容.而且通常会有一个专门的线程调度器来处理任务线程和界面线程的问题.下面提供两个两个方案. 使用 ...

  2. 深入浅出 Webpack

    深入浅出 Webpack 评价 Webpack 凭借强大的功能与良好的使用体验,已经成为目前最流行,社区最活跃的打包工具,是现代 Web 开发必须掌握的技能之一.作者结合自身的实战经验,介绍了 Web ...

  3. safari 移动下开启 滚定回弹

    -webkit-overflow-scrolling : touch;

  4. join ,left join ,right join有什么区别

    join等价于inner join内连接,是返回两个表中都有的符合条件的行. left join左连接,是返回左表中所有的行及右表中符合条件的行.(左表为主表) right join右连接,是返回右表 ...

  5. Python 3基础教程25-异常处理

    在Python中,异常处理,主要是try except语句,通常语法格式如下. try: 代码块1 except Exception as e: print(e) 代码2 接着前面读取CSV文件,如果 ...

  6. zabbix 一些问题随记

    1. zabbix运行不了,显示被锁,去检查日志中的报错 2. 配置界面,连接不到数据库,检查server配置文件,mysql授权命令要准确,重启 3. 显示没有php文件,下载即可,或者修改网页访问 ...

  7. python--基础篇二

    一. 格式化输出 :name=input("name:") age=input("age:") hobby=input("hobbie:") ...

  8. Nginx 配置 HTTPS自签名证书

    工具: OpenSSL ssl的开源实现,几乎实现了市面上所有的加密 libcrypto: 通用加密库, 任何软件要实现加密功能 链接调用这个库 libssl: TLS/SSL 加密库 openssl ...

  9. centos7.4内核从3.10升级到4.14详细步骤

    由于我们的docker学习中的Overlay需要内核版本在3.12+,所以在安装完centos7.4之后要进行内核升级,下面是升级步骤:1.导入keyrpm --import https://www. ...

  10. [译]如何比较同一分支上的不同commit的代码区别?

    原文来源:https://stackoverflow.com/questions/3338126/how-do-i-diff-the-same-file-between-two-different-c ...