CoderForces 518D Ilya and Escalator (期望DP)
题意:给定 n 个人,在每一时刻一个人进入地铁的概率是 p,站着不动的概率是 1-p,然后问你 t 时间地铁里有多少人。
析:很明显这是一个期望DP,用d[i][j]表示 i 时刻 j 个人进入地铁的概率,有两种情况,要么第 i-1 时刻已经有 j 个人了,那么就不进,要么第 i-1 时刻只有 j-1个人,就得进入,
也就是d[i][j] = d[i-1][j] * (1-P) + d[i-1][j-1] * p;这就是状态转移方程,最重要的是有一种情况一定要注意。。。那就是当第 i-1 时刻已经进入 n 个人了,也就是说全部的人都已经进入了,
那么第 i 时刻就不用考虑了,也就是说 d[i][n] = d[i-1][n] + d[i][n-1] * p;这个要特别注意。
代码如下:
#include <iostream>
#include <cstdio> using namespace std;
const int maxn = 2e3 + 5;
double d[maxn][maxn]; int main(){
int n, t;
double p;
while(scanf("%d %lf %d", &n, &p, &t) == 3){
d[0][0] = 1.0;
for(int i = 1; i <= t; ++i){
for(int j = 0; j <= i; ++j)
d[i][j] = d[i-1][j] * (1.0-p) + d[i-1][j-1] * p;
d[i][n] = d[i-1][n] + d[i-1][n-1] * p;//特判第 i-1 时刻已经进入 n 个人了
} double ans = 0.0;
for(int i = 0; i <= n; ++i) ans += d[t][i] * i;
printf("%.6lf\n", ans);
}
return 0;
}
CoderForces 518D Ilya and Escalator (期望DP)的更多相关文章
- Codeforces Round #293 (Div. 2) D. Ilya and Escalator 概率DP
D. Ilya and Escalator time limit per test 2 seconds memory limit per test 256 megabytes input standa ...
- CF518D. Ilya and Escalator [概率DP]
CF518D. Ilya and Escalator 题意:n个人,每秒p的概念队首的人进入电梯,求t秒后期望人数 直接使用期望定义 \(f[i][j]\) i秒后电梯中j个人的概率 注意n个人的时候 ...
- ●CodeForces 518D Ilya and Escalator
题链: http://codeforces.com/problemset/problem/518/D题解: 期望dp. 定义dp[t][i]表示在第t秒开始之前,已经有了i个人在电梯上,之后期望能有多 ...
- Codeforces 518D Ilya and Escalator
http://codeforces.com/problemset/problem/518/D 题意:n个人,每秒有p的概率进电梯,求t秒后电梯里人数的期望 考虑dp:f[i][j]代表第i秒有j个人的 ...
- D. Ilya and Escalator
D. Ilya and Escalator time limit per test 2 seconds memory limit per test 256 megabytes input standa ...
- 【算法学习笔记】概率与期望DP
本文学习自 Sengxian 学长的博客 之前也在CF上写了一些概率DP的题并做过总结 建议阅读完本文再去接着阅读这篇文章:Here 前言 单纯只用到概率的题并不是很多,从现有的 OI/ACM 比赛中 ...
- 【BZOJ-1419】Red is good 概率期望DP
1419: Red is good Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 660 Solved: 257[Submit][Status][Di ...
- [NOIP2016]换教室 D1 T3 Floyed+期望DP
[NOIP2016]换教室 D1 T3 Description 对于刚上大学的牛牛来说, 他面临的第一个问题是如何根据实际情况中情合适的课程. 在可以选择的课程中,有2n节课程安排在n个时间段上.在第 ...
- HDU 4336 Card Collector (期望DP+状态压缩 或者 状态压缩+容斥)
题意:有N(1<=N<=20)张卡片,每包中含有这些卡片的概率,每包至多一张卡片,可能没有卡片.求需要买多少包才能拿到所以的N张卡片,求次数的期望. 析:期望DP,是很容易看出来的,然后由 ...
随机推荐
- nginx的408错误
client_header_timeout:Http核心模块指令,指令指定读取客户端请求头标题的超时时间.这里的超时是指一个请求头没有进入读取步骤,如果连接超过这个时间而客户端没有任何响应,Nginx ...
- CocoStudio资源区导入Plist/PSD文件
这两种文件在使用中和普通文件稍有不同,下作简单介绍.如有不适的地方欢迎批评指正. 首先简单说一下Plist文件,Plist文件通常用于储存用户设置,也可以用于存储捆绑的信息,该功能在旧式的Mac OS ...
- python学习笔记(七):面向对象编程、类
一.面向对象编程 面向对象--Object Oriented Programming,简称oop,是一种程序设计思想.在说面向对象之前,先说一下什么是编程范式,编程范式你按照什么方式来去编程,去实现一 ...
- 梯度下降(Gradient descent)
首先,我们继续上一篇文章中的例子,在这里我们增加一个特征,也即卧室数量,如下表格所示: 因为在上一篇中引入了一些符号,所以这里再次补充说明一下: x‘s:在这里是一个二维的向量,例如:x1(i)第i间 ...
- python第三方库推荐 - dateutil
在dateutil中,吸引我的东西有2个,1个是parser,1个是rrule. 其中parser是根据字符串解析成datetime,而rrule是则是根据定义的规则来生成datetime. 安装 没 ...
- vue+uwsgi+nginx部署项目
首先先下载好前后端项目 先从前端vue搞起 要在服务器上,编译打包vue项目,必须得有node环境 下载node二进制包,此包已经包含node,不需要再编译 wget https://nodejs.o ...
- leetcode558
""" # Definition for a QuadTree node. class Node(object): def __init__(self, val, isL ...
- Daemon进程
这又是一个有趣的概念,daemon在英语中是"精灵"的意思,就像我们经常在迪斯尼动画里见到的那些,有些会飞,有些不会,经常围着动画片的主人公转来转去,啰里啰唆地提一些忠告,时不时倒 ...
- Django 获取时间 和Linux 本地 系统时间 不一致
问题描述 Django 中获取的本地时间 ,和系统时间不一致 错误原因 Django在配置文件settings.py 中 默认配置 UTC世界标准时间,而北京时间是东八区,比UTC时间早8个小时. T ...
- Balls(poj 3783)
The classic Two Glass Balls brain-teaser is often posed as: “Given two identical glass spheres, you ...