P4550 收集邮票 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
概率期望。
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define N 10005
int n;
double f[N], g[N];
signed main()
{
scanf("%d", &n);
for(int i = n - 1; i >= 0; i--)
{
f[i] = f[i + 1] + (1.0 * n) / (1.0 * (n - i));
g[i] = (1.0 * i) / (1.0 * (n - i)) * (f[i] + 1) + g[i + 1] + f[i + 1] + 1;
}
printf("%0.2lf", g[0]);
return 0;
}