摘自:《算法竞赛入门经典-训练指南》-刘汝佳

题意:

有K只麻球,每只生存一天就会死亡,每只麻球在死之前有可能生下一些麻球,生i个麻球的概率是pi,问m天后所有的麻球都死亡的概率是多少?

思路:
      涉及到全概率公式,因为麻球的各种活动都互不影响,所以现在只考虑一直麻球,我们假设f[i]是第i天全部都死亡的概率,那么f[i] = p0 + p1*f[i-1] + p2*f[i-1]^2 + ...pn-1*f[i - 1]^(n-1),其中pjf(i-1)^j的含义是这个麻球生了j个后代,他们在i-1天后全部死亡,注意这j个后代的死亡是独立的,而每个死亡的概率都是f(i-1)^j也就是用前一天的全部死亡概率来代替今天的每一只死亡的概率,又因为今天的每只的生死概率什么的都是独立的,所以p2*f[i-1]^2可以理解成剩下2只,然后两只都死了,这样最后在第m天死光的概率就是f[m],但是这个只是一只麻球的,所有麻球都死光是f[m]^k。

#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
#include <cmath>
#define  maxn 1010
using namespace std;
int n,k,m;
double p[maxn],f[maxn];
int main(){int T;int i,j,k;scanf("%d",&T);for(int cas=1;cas<=T;cas++){scanf("%d%d%d",&n,&k,&m);for(i=0;i<n;i++)scanf("%lf",&p[i]);f[0]=0;f[1]=p[0];for(i=2;i<=m;i++){f[i]=0;for(int j=0;j<n;j++){f[i]+=p[j]*pow(f[i-1],j);} }printf("Case #%d: %.7lf\n",cas,pow(f[m],k));}return 0;
}

麻球繁衍(Tribbles 概率dp)相关推荐

  1. cogs 1487. 麻球繁衍(概率dp)

    分析: 概率dp.first 由于每只麻球,在出生之后就可以独立生活了, 所以我们可以只计算出一开始只有一个麻球,m天后全部死亡的概率 由全概率公式得: 假设A1,A2,A3,-..An为一个完备事件 ...

  2. [COGS1487]麻球繁衍(概率dp)

    题目描述 传送门 题解 f(i)f(i)表示开始有1只麻球,i天之后全部死亡的概率.由全概率公式有 f(i)=P0+P1f(i−1)+P2f(i−1)2+P3f(i−1)3+...+Pn−1f(i−1 ...

  3. Uva 11201麻球繁衍(设概率方程的技巧)

    Link 题意 kkk个球,每个球只存在一天就死去,但死前有pip_ipi​的概率生iii个球(i∈[0,n−1]i\in[0,n-1]i∈[0,n−1]) 问在mmm天以前死光的概率是多少(k,n, ...

  4. uva 11021 Tribbles 麻球繁衍 概率

    题目链接: https://uva.onlinejudge.org/external/110/11021.pdf dp[x]的意义是某个麻球从出生到它和其后代全部死亡不超过x天的概率. 对于dp[x] ...

  5. 【概率】COGS1487 麻球繁衍

    一开始手推概率,结果发现结果一直对不上.后来发现是计算器没用好... 比较好思考的是 求k只麻球的概率  其实是求 一只麻球的概率^k的概率  (因为乘法原理,每个麻球的概率都是相对独立的所以乘起来) ...

  6. UVA11021麻球繁衍

    题意:      有K只麻球,每只生存一天就会死亡,每只麻球在死之前有可能生下一些麻球,生i个麻球的概率是pi,问m天后所有的麻球都死亡的概率是多少? 思路:       涉及到全概率公式,因为麻球的 ...

  7. UVA 11021 麻球繁衍

    题意: 有K只麻球,每只生存一天就会死亡,每只麻球在死之前有可能生下一些麻球,生i个麻球的概率是pi,问m天后所有的麻球都死亡的概率是多少? 思路:       涉及到全概率公式,因为麻球的各种活动都 ...

  8. cogs 1487 麻球繁衍

    [题目描述] 万有引力定律: "使物体相互靠近的力的大小与物体的质量成正比--而物体的质量又由同一种力决定.这是一个有趣并且有益的例子,说明了科学是如何用A证明B,再用B证明A的." ...

  9. cogs 1487. 麻球繁衍

    你有一坨K个毛球.这种毛球只会存活一天.在死亡之前,一个毛球有P_i的概率生出i个毛球(i=0,1,...,n-1).m天后所有毛球都死亡的概率是多少?(包含在第m天前全部死亡的情况) 题解: 由于k ...

最新文章

  1. pandas 实现DataFrame的合并Merge
  2. 面向对象之__isset__unset
  3. Redhat7修改默认运行级别方法
  4. 【Linux】一步一步学Linux——sshd命令(177)
  5. css flex排序居中
  6. Java:判断某年是闰年or平年并输出某月的天数
  7. mysql中 创建函数失败_Mysql创建函数出错
  8. 新浪微博since_id值
  9. 一款利用PIN管设计的可调衰减器
  10. JavaScript 获取字符串的最后一个字符
  11. 使用Python API实现TRT版BN/hswish/Silu等算子
  12. 在cmd中怎么进入mysql?
  13. OPENMV上的目标检测,目标定位模型
  14. BurpSuite爆破(Intruder)模块四种模式介绍
  15. 论文研读笔记(二)——VGG
  16. 汽车电子EMC实验简介
  17. 异常(父类对象ani instanceof是不是 子类Cat 的实例)
  18. ‘inet_ntoa‘: Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disa
  19. 域名解析和内网穿透实验
  20. 【傻瓜式教程】Windows下安装Hive MySQL版【附安装Hadoop教程】全网最详细的图文教程

热门文章

  1. 用户运营 - 用户生命周期与CLV
  2. 证据权重 (WOE) 与信息价值 (IV)
  3. java判断字符个数_使用Java判断字符串中的中文字符数量
  4. 代码加密 android,Android 开发怎样做代码加密或混淆
  5. IOS 实现植物大战僵尸
  6. SEO人员,做好SEO的三大要素有哪些?
  7. 黑客大会所有资料(740G)
  8. oracle语句中dual什么意思,oracle中dual详解
  9. Java里鲜为人知的“机器人”类库
  10. 嵌入式实验考试后的辛酸苦楚