Bag of mice

题目链接:

http://www.codeforces.com/problemset/problem/148/D

题意:

公主和龙在玩抓老鼠的游戏,在一个包里有一些白色老鼠和一些黑色老鼠,抓到每只老鼠的几率都是相同的,谁先抓到白色老鼠谁就赢,公主先开始抓,老鼠被抓走了就没了,不会回来,当龙抓的时候,除了被抓的老鼠,剩下的老鼠中还会逃走一只,求公主赢的概率。

题解:

一道水题,做法应该有很多......我的做法是设dp[i][j]为第i次抓老鼠,抓完老鼠后逃走了j只白色老鼠的概率

             

代码

#include<stdio.h>
#include<string.h>
double dp[1400][1001],res=0.0,sum,sumb;
int main()
{
  int w,b,t;
  scanf("%d%d",&w,&b);
  t=(w+b)/3*2;//公主和龙最多共可以抓t次老鼠
  if((w+b)%3>=1)t++;
  if((w+b)%3==2)t++;
  memset(dp,0,sizeof(dp));
  dp[0][0]=1.0;
  for(int i=1;i<=t;++i)//第i次抓
  for(int j=0;j<w&&j<=i/2;++j)//抓完跑了j只老鼠
  {
    sum=1.0*(w+b-(int)(1.5*(i-1)));//抓之前的老鼠数
    if(i%2)dp[i][j]=dp[i-1][j]*(sum-w+j)/sum,res+=dp[i-1][j]*(w-j)/sum;//公主抓的时候
    else//龙抓的时候
    {
      dp[i][j]=dp[i-1][j]*(sum-w+j)/sum*(sum-w+j-1)/(sum-1);
      if(j)dp[i][j]+=dp[i-1][j-1]*((sum-w+j-1)/sum*(w-j+1)/(sum-1));
    }
  }
  printf("%.9f\n",res);
}

  

转载于:https://www.cnblogs.com/kiuhghcsc/p/5578646.html

Codeforces 148D:Bag of mice 概率DP相关推荐

  1. Codeforces 148D. Bag of mice(概率dp)

    Codeforces 148D. Bag of mice(概率dp) Description The dragon and the princess are arguing about what to ...

  2. Codeforces Round #105 D. Bag of mice 概率dp

    http://codeforces.com/contest/148/problem/D 题目意思是龙和公主轮流从袋子里抽老鼠,袋子里有白老师 W 只,黑老师 D 只,公主先抽,第一个抽出白老鼠的胜利, ...

  3. codeforces 540D Bad Luck Island (概率DP)

    题意:会出石头.剪刀.布的人分别有r,s,p个,他们相互碰到的概率相同,输的人死掉,问最终活下去的人是三种类型的概率 设状态dp(i,j,k)为还有i个石头,j个剪刀,k个布时的概率,dp(r,s,p ...

  4. CodeForces 351B Jeff and Furik 概率DP 逆序对

    题目大意: 就是现在给出一个1~n的排列, Jeff和Furik分别轮流进行操作, Jeff先手, Jeff会选择相邻的两个数p[i], p[i + 1]交换位置, 然后轮到Furik, Furiki ...

  5. 【原创】概率DP总结 by kuangbin

    概率DP主要用于求解期望.概率等题目. 转移方程有时候比较灵活. 一般求概率是正推,求期望是逆推.通过题目可以体会到这点. 首先先推荐几篇参考的论文: <信息学竞赛中概率问题求解初探> & ...

  6. Codeforces 678E. Another Sith Tournament(概率DP,状压)

    Codeforces 678E. Another Sith Tournament 题意: n(n<=18)个人打擂台赛,给定任意两人对决的胜负概率,比赛规则:可指定一人作为最开始的擂主,每次可指 ...

  7. 【CodeForces - 518D】Ilya and Escalator(概率dp,数学期望)

    题干: Ilya got tired of sports programming, left university and got a job in the subway. He was given ...

  8. 插头DP 概率DP / 期望DP

    插头DP && 概率DP / 期望DP 写在前面: 插头DP P5056 [模板]插头dp 手写哈希表的方法: 拉链法的代码如下: 开放寻址法的代码如下: 接下来是这道题的代码实现: ...

  9. 动态规划报告(树形DP+概率DP

    动态规划报告 树形dp 树形 DP,即在树上进行的 DP.由于树固有的递归性质,树形 DP 一般都是递归进行的.一般需要在遍历树的同时维护所需的信息 以一道题目为例 2022CCPC桂林站G Grou ...

最新文章

  1. 线性回归:不能忽视的三个问题
  2. 什么是NullReferenceException,如何解决?
  3. CTFshow 命令执行 web54
  4. 分析决策树算法和逻辑回归算法的不同之处
  5. 天翼云从业认证(4.11)天翼云物流行业解决方案
  6. 根据条件查询某条记录的条数_「性能与架构」MySQL 8 查询优化新工具 Explain Analyze...
  7. STL常用容器大致对比
  8. android log.d 格式化,android – 在我的代码中使用Log.d()或Log.e()
  9. ibatis(0)ibatis 与 mybatis 简述
  10. 关于python import的sys.path路径问题
  11. Win11系统使用DISM命令备份驱动程序的方法
  12. oracle awr报告 开关,【Oracle之AWR报告解析】
  13. Hopfield神经网络的联想记忆——数字识别的一些笔记
  14. 如何将qlv格式视频转换成mp4格式
  15. 【教育心理学】学习理论流派——行为主义学习理论
  16. 安卓Android百度输入法皮肤-疯狂码字的快乐-《Write 2022升级版》
  17. 小游戏如何带动直播平台发展?
  18. Sam Altman 山姆奥特曼:强化学习进展 Reinforcement Learning Progress
  19. Elasticsearch搜索引擎一些参数含义和用法
  20. 【重识云原生】第一章——不谋全局不足以谋一域

热门文章

  1. PostgreSQL中如何得到一个随机的字符
  2. Shuffling Machine (20)
  3. 龙格库塔法和欧拉法求解微分方程的比较
  4. es6 嵌套数组循环_ES6 常用数组循环
  5. php 截取www后面的目录,php-如何从字符串路径中获取最后一个目录
  6. Python接口自动化之cookie、session应用
  7. Uniswap 24h交易量约11亿美元涨10.66%
  8. 有关node.js学习笔记
  9. PYcharm简单安装教程
  10. 连接SQL Server数据库