【题目链接】
【思路要点】
- 补档博客,无题解。
【代码】
#include<bits/stdc++.h> using namespace std; #define MAXN 5005 double f[2][MAXN]; int n, m; int main() { scanf("%d%d", &n, &m); for (int i = 1; i <= n; i++) { int now = i & 1, tmp = now ^ 1; f[now][0] = i; for (int j = 1; j <= m; j++) f[now][j] = max(0.0, (f[tmp][j] * i + f[now][j - 1] * j + i - j) / (i + j)); } long long ans = f[n & 1][m] * 1000000; printf("%.6lf", ans / 1000000.0); return 0; }