数学期望可以理解成一个 DAG 模型.
Code:
#include <bits/stdc++.h> #define N 5003 #define ll long long #define setIO(s) freopen(s".in","r",stdin) using namespace std; int n,m; double f[3][N]; int main() { int i,j; // setIO("input"); scanf("%d%d",&n,&m); int now=0; for(i=1;i<=n;++i,now^=1) { f[now][0]=i; for(j=1;j<=m;++j) { f[now][j]=max(0.0,1.0*i/(i+j)*(1+f[now^1][j])+1.0*j/(i+j)*(-1+f[now][j-1])); } } ll x=1000000*f[now^1][m]; printf("%.6lf ",1.0*x/1000000); return 0; }