一开始手推概率,结果发现结果一直对不上。后来发现是计算器没用好。。。

比较好思考的是 求k只麻球的概率  其实是求 一只麻球的概率^k的概率  (因为乘法原理,每个麻球的概率都是相对独立的所以乘起来)

我们设 1只麻球,m天后死亡的概率是 f(m)

那么根据全概率公式就有 $f(i)=P_0+f(i-1)\times P_1+f(i-1)^{2}\times P_2+f(i-1)^{3}\times P_3 +.....+f(i-1)^{n-1}\times P_n-1$

对于我这种萌新,我第一眼看过去内心是wc的,但是你手推一推会发现其实很好理解:

第一天死亡的只有P0

第二天死亡的会有 昨天产生0个的麻球今天死亡了 昨天产生1个的麻球今天死亡了  昨天产生的2个麻球今天死亡了 昨天产生的3个麻球今天死亡...

第二天死亡的会有 昨天产生0个的麻球今天死亡了 昨天产生1个的麻球今天死亡了  昨天产生的2个麻球今天死亡了 昨天产生的3个麻球今天死亡...

代码实现并不难,只不过需要一定的思考~

#include <algorithm>
#include <cstdio>
#include <cstring>
#include <cmath>
inline int Read(){int ans = 0,flag=1;char ch=getchar();while(ch<'0' || ch>'9'){if(ch=='-')flag=-1;ch=getchar();}while(ch>='0' && ch<='9'){ans = ans * 10 + ch - '0';ch = getchar();}return flag*ans;
}int T;
int n,k,m;
double P[1005],dp[1005];double Pow(double num,int x){double ans = 1;while(x){if(x&1) ans*=num;num*=num;x>>=1;}return ans;
}int main(){freopen("tribbles.in","r",stdin);freopen("tribbles.out","w",stdout);T = Read();for(register int i=1;i<=T;++i){n = Read();k = Read();m = Read();for(register int now=0;now<n;++now){scanf("%lf",&P[now]);}dp[0]=0;dp[1]=P[0];for(register int day = 2;day<=m;++day){dp[day] = 0;for(register int now = 0 ;now<n;++now) dp[day]+=P[now]*Pow(dp[day-1],now);}printf("Case #%d: %.7lf\n",i,Pow(dp[m],k));}
}

别学我写快速幂啊,直接用Pow不容易出错

转载于:https://www.cnblogs.com/OIerLYF/p/7531455.html

【概率】COGS1487 麻球繁衍相关推荐

  1. [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 ...

  2. cogs1487. 麻球繁衍

    传送门 设f[i]表示一只毛球在i天后全部死亡的概率,那么结果可由递推得到,即 f[i]=∑j=0n−1p[j]∗f[i−1]j f[i]=\sum_{j=0}^{n-1}p[j]*f[i-1]^{j ...

  3. COGS1487 麻球繁衍

    不会做%%http://blog.csdn.net/doom_bringer/article/details/50428503 1 #include<bits/stdc++.h> 2 #d ...

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

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

  5. 麻球繁衍(Tribbles 概率dp)

    摘自:<算法竞赛入门经典-训练指南>-刘汝佳 题意: 有K只麻球,每只生存一天就会死亡,每只麻球在死之前有可能生下一些麻球,生i个麻球的概率是pi,问m天后所有的麻球都死亡的概率是多少? ...

  6. uva 11021 Tribbles 麻球繁衍 概率

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

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

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

  8. UVA11021麻球繁衍

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

  9. UVA 11021 麻球繁衍

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

最新文章

  1. 软件体系架构模式之三微内核体系架构
  2. SQLServer查看存储过程的方法
  3. 日子是过以后、不是过从前
  4. 数据产品-数据分析和可视化工具Excel基础使用
  5. php中递归怎么用,PHP中递归的实现实例详解
  6. C# 最小化到系统托盘的实现(一)
  7. kubernetes 简介:调度器和调度算法((Affinity/Anti-Affinity, Taints and Tolerations, 自定义调度器 )
  8. python关机怎样保存seek_在Python中操作文件之seek()方法的使用教程
  9. bootstrap页面布局
  10. 如何使用ReiBoot修复iOS系统
  11. 啊哈 算法 啊哈磊 扫描版pdf
  12. 小米笔记本怎么恢复出厂的系统
  13. tomcat 8.0下载
  14. 苹果开发者计划注册流程
  15. STM32MP157C-DK2 开机测试
  16. 移动端web和PC端web的区别汇总笔记
  17. future.dj pro for Mac(专业DJ混音软件) 破解版
  18. 压缩解压:tar zip unzip 7z|7za rar
  19. comsol圆柱形永磁体_基于COMSOL Multiphysics的磁场仿真分析
  20. Bracket Sequencing

热门文章

  1. C++多态的好处和作用(用实例说话)
  2. [附源码]java毕业设计网上拍卖系统
  3. 初设大蟒蛇之Python函数篇
  4. c语言大小箱子,基于C语言箱子游戏.doc
  5. Django之django-dynamic-preferences
  6. python使用scrapy爬虫总是提示ModuleNotFoundError: No module named ‘‘
  7. 人工智能技术与自动驾驶,自动驾驶与人工智能
  8. 菜鸟html在线运行,菜鸟操作—HTML5制作影视简介
  9. 任正非非常理出牌:港湾、3COM、Juniper三角戏
  10. 5G网络学习(三)——大白话讲解PDU会话(未完待续)