1 条题解
-
0
题意简述
-
个人排成一列。每秒有 的概率,队伍的第一个人走上电梯。
-
求 秒后已经走上电梯人数的期望值。
-
,
题目分析
动态规划,定义状态 表示前 个人 秒内走上电梯人数的期望值。
分类讨论第 秒第一个人是否上电梯:
-
对于 的概率,第一个人上了电梯,贡献为 ;
-
对于 的概率,第一个人没有走上电梯,贡献为 。
最终答案为 ,时间复杂度 。
代码
#include <bits/stdc++.h> using namespace std; int n,t; double p,f[2001][2001]; //f[i][j]: 前i个人j秒期望人数 int main(){ scanf("%d%lf%d",&n,&p,&t); for(int i=1;i<=n;i++) for(int j=1;j<=t;j++) f[i][j]=(f[i-1][j-1]+1)*p+f[i][j-1]*(1-p); printf("%.8lf\n",f[n][t]); return 0; }
-
- 1
信息
- ID
- 4869
- 时间
- 2000ms
- 内存
- 256MiB
- 难度
- 5
- 标签
- 递交数
- 9
- 已通过
- 5
- 上传者