题意:
      一个人玩纸牌游戏,他每天最多玩n局,枚举获胜的概率是a/b,每天玩牌只要获胜概率达到p,那么他今天就不玩了,明天接着玩,如果有一天他的概率没有达到p,(没有达到p的话他今天一定是玩了n次),那么他以后就在也不玩了,问题是在平均的情况下,他能玩多少个晚上的牌?

思路:
      我们可以先算他只玩一天就失败了的概率,P[i][j]表示玩了i次,赢了j次,当
j/i<=p的时候,根据全概率公式,P[i][j] = P[i-1][j]*(1-p)+P[i-1][j-1]*p前面是输了后面是赢了,端点值是P[0][0] = 1 ,P[0][1] = 0,其他部分全都是0,记得要把其他部分清成0,因为更新是不连续的,这样之后只玩一天的概率等于Q = P[n][0] + P[n][1] +.....
这样答案就是(期望)
玩一天 1 * Q
玩两天 2 * Q(1-Q)
玩三天 3 * Q(1-Q)^2
......
化简后 Ans = 1 / Q;
说下化简的方法吧,有两种
(1)
   a 令s = EX/Q = 1+2(1-Q)+3(1-Q)^2+4(1-Q)^3+...

   b     (1-Q)s = (1-Q)+2(1-Q)^2+3(1-Q)^3+....
a - b得到
EX = Qs = 1+(1-Q)+(1-Q)^2+(1-Q)^3+..=1/Q

(2)
设数学期望为e天,把情况分为两类,第一天晚上出头丧气概率Q期望1,第一天晚上兴高采烈,概率(1-Q)期望e + 1,解得 e = Q * 1 + (1 - Q) * (e + 1) => e = 1/Q;

#include<stdio.h>
#include<string.h>

double P[105][105];

int main ()
{
   int n ,a ,b ,i ,j;
   int t ,cas = 1;
   scanf("%d" ,&t);
   while(t--)
   {
      scanf("%d/%d%d" ,&a ,&b ,&n);
      double p = a * 1.0 / b;
      memset(P ,0 ,sizeof(P));
      P[0][0] = 1 ,P[0][1] = 0;
      for(i = 1 ;i <= n ;i ++)
      for(j = 0 ;j * b <= i * a ;j ++)
      {
         P[i][j] = P[i-1][j] * (1 - p) ;
         if(j >= 1)P[i][j] +=  P[i-1][j-1] * p;
      }
      double Ans = 0;
      for(j = 0 ;j * b <= n * a ;j ++)
      Ans += P[n][j];
      printf("Case #%d: %d\n" ,cas ++ ,(int)(1 / Ans));
   }
   return 0;
}

UVA11427玩纸牌(全概率+递推)相关推荐

  1. UVa 11021 (概率 递推) Tribles

    Tribble是麻球? 因为事件都是互相独立的,所以只考虑一只麻球. 设f(i)表示一只麻球i天后它以及后代全部死亡的概率,根据全概率公式: f(i) = P0 + P1 * f(i-1) + P2 ...

  2. UVA 11021 - Tribles(概率递推)

    UVA 11021 - Tribles 题目链接 题意:k个毛球,每一个毛球死后会产生i个毛球的概率为pi.问m天后,全部毛球都死亡的概率 思路:f[i]为一个毛球第i天死亡的概率.那么 f(i)=p ...

  3. 华华跟奕奕玩游戏(数学期望递推式)

    链接:https://ac.nowcoder.com/acm/contest/894/C 来源:牛客网 题目描述 有一个箱子,开始时有n个黑球,m个蓝球.每一轮游戏规则如下: 第一步:奕奕有p的概率往 ...

  4. 大概是:整数划分||DP||母函数||递推

    整数划分问题 整数划分是一个经典的问题. Input 每组输入是两个整数n和k.(1 <= n <= 50, 1 <= k <= n) Output 对于每组输入,请输出六行. ...

  5. 第十一届山东省大学生程序设计竞赛 L. Construction of 5G Base Stations(概率期望,递推前缀和优化)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 第十一届山东省大学生程序设计竞赛 L. Construction of 5G Base Station ...

  6. CF935D Fafa and Ancient Alphabet 概率dp(递推)

    D. Fafa and Ancient Alphabet (简洁题意请往下翻) time limit per test 2 seconds memory limit per test 256 mega ...

  7. a(n+1) = f[a(n)] 型递推数列的迭代作图(玩计算器玩出了问题)

    把任意一个正数开平方再加 \(1\), 把得到的结果也开平方再加 \(1\), 不断算下去,最终总会得到 \( \frac{3+\sqrt{5}}{2} \approx 2.61804 \), 即: ...

  8. 递推最小二乘法RLS的轮胎侧偏刚度估计(原书缺失代码已补全)

    目录 1 参数辨识 1.1 最小二乘法 1.2 递推最小二乘法 RLS 1.3 具有遗忘因子 λ 的递推最小二乘法 2 轮胎线性侧偏刚度估计 2.1 RLS 算法分析 2.2 联合仿真平台的设计 ca ...

  9. bzoj 4872 分手是祝愿 - 概率与期望 - 递推

    首先考虑,给你一个局面最少操作多少次,显然要从大往小按,可以证明这样是最优的.把这些按下的位置标记出来,可以证明一定要恰好按这些位置,别的不能动.因此问题转化为,给你一个序列,有若干位置需要被访问奇数 ...

最新文章

  1. pandas版xml json excel互转
  2. 笔记-高项案例题-2016年下-计算题
  3. ppt拖动就复制_学会这3个PPT技巧和29个快捷键!让你的PPT脱颖而出,领导叫好
  4. c# 怎样从bitmap初始化image类_C#二维数组初始化概括(新手篇)
  5. 8086汇编_除法指令
  6. !--#include virtual='head.html'--代码复用
  7. ICP算法与Kdtree
  8. mysql pdo 安全_使用PDO查询Mysql来避免SQL注入风险
  9. 决策树,随机森林,集成学习的算法实现
  10. 计算机软件怎么共享使用,局域网共享软件,教您局域网共享软件如何使用
  11. JsonPath 解析Josn字符串
  12. r语言如何计算t分布临界值_医学统计与R语言:超几何分布(Hypergeometric distribution)与Fisher精确检验...
  13. 计算机二级考试报名如何上传照片?
  14. speedoffice(Word)怎么添加页码
  15. Nginx 配置 HTTPS 证书
  16. C++ Cstring类型使用
  17. 文章详情页文章评论功能
  18. 【IJCV2020】【语义编辑】Semantic Hierarchy Emerges in Deep Generative Representations for Scene Synthesis
  19. IntelliJ Idea -- 自动引包设置
  20. 【OV7670】基于FPGA的OV7670摄像头介绍和使用

热门文章

  1. spring-文件上传
  2. svn 主干和分支项目代码更新与同步
  3. enum类型被intent所携带时需要注意的地方
  4. Unity3d Http Get请求
  5. [导入]ASP.NET 2.0 读取配置文件[INI](示例代码下载)
  6. 尝试create tech team
  7. python---微信聊天机器人
  8. [bzoj2055]80人环游世界[网络流,上下界网络流]
  9. 不能创建对象: 'CDONTS.Newmail'”
  10. JS动态添加多个事件