CodeForces 464D World of Darkraft - 2 (概率)

来源:互联网 发布:网络平台推广合同范本 编辑:程序博客网 时间:2024/05/18 16:38
#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#include <cmath>#include <vector>using namespace std;#define N 100020#define B 800double dp[2][B];int n, k;int main() {scanf("%d%d", &n, &k);dp[0][1] = 0;for(int i = 1; i <= n; ++i) {int cur = i & 1 ^ 1;int nxt = cur ^ 1;for(int t = 1; t + 1 < B; ++t) {dp[nxt][t] = dp[cur][t+1] + t * dp[cur][t] + (t * t + 0.0 + 3 * t) / 2;dp[nxt][t] /= k * (t + 1);dp[nxt][t] += (k - 1.0) / k * dp[cur][t];}}printf("%.12lf\n", dp[n & 1][1] * k);return 0;}

0 0