luogu P3978 [TJOI2015]概率论
题面传送门
既然是算期望,所以可以用\(\frac{h}{g}\)来求得。
把这道题抽象成一个模型,\(i\)个节点是在\(i-1\)个节点的树上再挂一个节点,那么就会有两种情况:加一个点与不加点,这就是卡特兰数模型,所以可以用通项公式。
\(h_n=\frac{2n!}{n!(n+1)!}\)
所以带进去可得
\(ans=\frac{n(n+1)}{2(2n-1)}\)
代码实现:
#include<cstdio>
using namespace std;
int n;
double ans,tot,pus;
int main(){
scanf("%d",&n);
ans=n;
tot=ans*(ans+1)/2/(2*n-1);
printf("%.9lf",tot);
}

浙公网安备 33010602011771号