博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
codeforces Problem-518D:Ilya and Escalator(概率dp)
阅读量:6902 次
发布时间:2019-06-27

本文共 772 字,大约阅读时间需要 2 分钟。

题意:一共有n个人排着队,排在队首的人每一秒有p的概率上车,求过了t秒后车内的人数的期望值。

题解:用dp[i][j]表示第i秒有j个人的概率,状态转移方程为:dp[i][j]=p*dp[i-1][j-1]+(1-p)*dp[i-1][j](j<n),dp[i][j]=p*dp[i-1][j-1]+dp[i-1][j](j==n);

AC代码:

#include 
using namespace std;const int maxn=2e3+4;double dp[maxn][maxn];int main(){ int n,t; double p; scanf("%d%lf%d",&n,&p,&t); dp[0][0]=1; for(int i = 1;i <= t;++i) { for(int j = 0;j <= n;++j) { if(j==n) dp[i][j]+=dp[i-1][j]; else dp[i][j]+=(1-p)*dp[i-1][j]; if(j) dp[i][j]+=dp[i-1][j-1]*p; } } double ans=0; for(int i = 1;i <= n;++i){ ans+=i*dp[t][i]; } printf("%.7lf\n",ans); return 0;}

 

转载于:https://www.cnblogs.com/aaddvvaanntteezz/p/11026806.html

你可能感兴趣的文章
mcollective安装文档
查看>>
GRE隧道模式与IPSec传输模式构建×××
查看>>
linux命令6--touch命令
查看>>
我的友情链接
查看>>
且谈布局适配和日志框架
查看>>
在论坛中出现的比较难的sql问题:15(行转列2)
查看>>
springboot中的5种通知小例子
查看>>
mysql数据通过jdbc操作作为Spark数据源案例
查看>>
Sersync实现触发式文件同步
查看>>
shell练习题
查看>>
从硬件竞争到软实力PK——电视媒体竞争观察
查看>>
大型网站压力测试及优化方案
查看>>
matlab中 mcc、mbuild和mex命令详解
查看>>
CentOS6系统部署mysql+php+wordpress博客系统
查看>>
对Java并发编程的几点思考
查看>>
linux-软链接及硬链接介绍
查看>>
云计算的特性有这4点
查看>>
项目中常用的19条MySQL优化
查看>>
IT兄弟连 JavaWeb教程 jQuery对AJAX的支持
查看>>
iOS中的UIDatePicker (日期滚轮)
查看>>