【概率】COGS1487 麻球繁衍
一开始手推概率,结果发现结果一直对不上。后来发现是计算器没用好。。。
比较好思考的是 求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 麻球繁衍相关推荐
- [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 ...
- 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 ...
- COGS1487 麻球繁衍
不会做%%http://blog.csdn.net/doom_bringer/article/details/50428503 1 #include<bits/stdc++.h> 2 #d ...
- cogs 1487. 麻球繁衍(概率dp)
分析: 概率dp.first 由于每只麻球,在出生之后就可以独立生活了, 所以我们可以只计算出一开始只有一个麻球,m天后全部死亡的概率 由全概率公式得: 假设A1,A2,A3,-..An为一个完备事件 ...
- 麻球繁衍(Tribbles 概率dp)
摘自:<算法竞赛入门经典-训练指南>-刘汝佳 题意: 有K只麻球,每只生存一天就会死亡,每只麻球在死之前有可能生下一些麻球,生i个麻球的概率是pi,问m天后所有的麻球都死亡的概率是多少? ...
- uva 11021 Tribbles 麻球繁衍 概率
题目链接: https://uva.onlinejudge.org/external/110/11021.pdf dp[x]的意义是某个麻球从出生到它和其后代全部死亡不超过x天的概率. 对于dp[x] ...
- Uva 11201麻球繁衍(设概率方程的技巧)
Link 题意 kkk个球,每个球只存在一天就死去,但死前有pip_ipi的概率生iii个球(i∈[0,n−1]i\in[0,n-1]i∈[0,n−1]) 问在mmm天以前死光的概率是多少(k,n, ...
- UVA11021麻球繁衍
题意: 有K只麻球,每只生存一天就会死亡,每只麻球在死之前有可能生下一些麻球,生i个麻球的概率是pi,问m天后所有的麻球都死亡的概率是多少? 思路: 涉及到全概率公式,因为麻球的 ...
- UVA 11021 麻球繁衍
题意: 有K只麻球,每只生存一天就会死亡,每只麻球在死之前有可能生下一些麻球,生i个麻球的概率是pi,问m天后所有的麻球都死亡的概率是多少? 思路: 涉及到全概率公式,因为麻球的各种活动都 ...
最新文章
- 软件体系架构模式之三微内核体系架构
- SQLServer查看存储过程的方法
- 日子是过以后、不是过从前
- 数据产品-数据分析和可视化工具Excel基础使用
- php中递归怎么用,PHP中递归的实现实例详解
- C# 最小化到系统托盘的实现(一)
- kubernetes 简介:调度器和调度算法((Affinity/Anti-Affinity, Taints and Tolerations, 自定义调度器 )
- python关机怎样保存seek_在Python中操作文件之seek()方法的使用教程
- bootstrap页面布局
- 如何使用ReiBoot修复iOS系统
- 啊哈 算法 啊哈磊 扫描版pdf
- 小米笔记本怎么恢复出厂的系统
- tomcat 8.0下载
- 苹果开发者计划注册流程
- STM32MP157C-DK2 开机测试
- 移动端web和PC端web的区别汇总笔记
- future.dj pro for Mac(专业DJ混音软件) 破解版
- 压缩解压:tar zip unzip 7z|7za rar
- comsol圆柱形永磁体_基于COMSOL Multiphysics的磁场仿真分析
- Bracket Sequencing
热门文章
- C++多态的好处和作用(用实例说话)
- [附源码]java毕业设计网上拍卖系统
- 初设大蟒蛇之Python函数篇
- c语言大小箱子,基于C语言箱子游戏.doc
- Django之django-dynamic-preferences
- python使用scrapy爬虫总是提示ModuleNotFoundError: No module named ‘‘
- 人工智能技术与自动驾驶,自动驾驶与人工智能
- 菜鸟html在线运行,菜鸟操作—HTML5制作影视简介
- 任正非非常理出牌:港湾、3COM、Juniper三角戏
- 5G网络学习(三)——大白话讲解PDU会话(未完待续)