题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1426
这货,我式子推得很奇怪QAQ
也不知道为什么是对的QAQ
#include<algorithm> #include<iostream> #include<cstring> #include<cstdio> #include<cstdio> #include<cmath> #define LL long long #define abs(x) ((x)>0?(x):-(x)) using namespace std; const int N = 10000+9; int n; double f[N],g[N]; inline int read(){ char c=getchar(); int ret=0,f=1; while (c<'0'||c>'9') {if(c=='-')f=-1;c=getchar();} while (c<='9'&&c>='0') ret=ret*10+c-'0',c=getchar(); return ret*f; } int main(){ n = read(); f[n] = g[n] = 0; for (int i=n-1;~i;i--) f[i] = (double)n/(n-i) + f[i+1]; for (int i=n-1;~i;i--) g[i] = f[i]*n/(n-i) + g[i+1]; printf("%.2lf",g[0]); return 0; }