码迷,mamicode.com
首页 > 其他好文 > 详细

●CodeForces 518D Ilya and Escalator

时间:2018-03-11 11:45:24      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:ret   str   efi   tar   space   out   turn   期望dp   ++   

题链:

http://codeforces.com/problemset/problem/518/D
题解:

期望dp。
定义dp[t][i]表示在第t秒开始之前,已经有了i个人在电梯上,之后期望能有多少人上电梯。
转移:
dp[t][i]=(1-P)*dp[t+1][i]+P*(dp[t+1][i+1]+1)


代码:

#include<bits/stdc++.h>
#define MAXN 2005
using namespace std;
int N,T;
double P,dp[MAXN][MAXN];
int main(){
	ios::sync_with_stdio(0);
	cin>>N>>P>>T;
	for(int t=T;t>=1;t--)
		for(int i=0;i<N;i++)
			dp[t][i]=(1-P)*dp[t+1][i]+P*(dp[t+1][i+1]+1);
	cout<<fixed<<setprecision(6)<<dp[1][0]<<endl;
	return 0;
}

  

●CodeForces 518D Ilya and Escalator

标签:ret   str   efi   tar   space   out   turn   期望dp   ++   

原文地址:https://www.cnblogs.com/zj75211/p/8543050.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!