CF518D Ilya and Escalator
这个咋弄啊?qwq
有 个人排成一列,,, 每秒中队伍最前面的人 的概率走上电梯( 一旦走上就不会下电梯), 或者有 的概率不动
问你 秒过后,,, 在电梯上的人的数量的期望...
然后咋做呢?
直接DP,记f[i][j]表示第i秒有j个人的期望
转移直接转移就做完了
然后code:
#include<iostream>
#include<cstdio>
#include<cstring>
const int MAXN = 2e3 + 7;
int n, m;
double p;
double dp[MAXN][MAXN];
int main() {
scanf("%d", &n);
scanf("%lf", &p);
scanf("%d", &m);
for(int i = 1; i <= n; ++i) {
for(int j = 1; j <= m; ++j) {
dp[i][j] = (1 - p) * dp[i][j - 1] + p * (dp[i - 1][j - 1] + 1);
}
}
printf("%lf\n", dp[n][m]);
return 0;
}
你注定要毁灭这个你活了一辈子的世界,这是你一生的悲哀