题目大意:每天晚上你都玩纸牌,如果第一次赢了就高高兴兴地去睡觉;如果输了就接着玩,假设每盘游戏获胜的的概率都是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 ;
}

最新文章

  1. mysql workbench建表时PK,NN,UQ,BIN,UN,ZF,AI
  2. IOS路线图
  3. ppaer 67 : matlab 函数errorbar
  4. 二模08day1解题报告
  5. 关于ASCII、GB231、GBK、UTF-8/UTF8、ANSI、unicode的学习笔记
  6. Spring工厂方式创建Bean实例
  7. 55个高质量的Magento主题,助你构建电子商务站点
  8. hdu 3778
  9. JS学习笔记(二)运算符和流程控制语句
  10. Cloudera Manager Service Monitor 定期挂掉问题排查
  11. 封装OkHttp,通过Callback改造Callback实现
  12. .Net 多线程开发优化实践
  13. myeclipse无法导入项目
  14. Nginx安装Nginx-echo模块
  15. android9.0系统适配遇到的问题
  16. JUC同步锁(五)
  17. SharePoint 修改用户属性User Name
  18. DBMS_OUTPUT包学习
  19. C#对GZIP压缩和解压
  20. OpenStack 虚机网卡的创建过程

热门文章

  1. PowerPC为什么会没落,我自己的反思学习总结
  2. 『Golang』在Golang中使用json
  3. jmeter3.2版本如何进行webservice接口功能测试
  4. Yarn 命令详解
  5. 关于Scala文件操作中出现的问题
  6. LeetCode 389——找不同
  7. 牛客网/LeetCode/七月在线/HelloWorld114
  8. 并查集——poj1182(带权并查集高阶)
  9. c# log
  10. Jpeg-Baseline和Progressive JPEG的区别