Luogu P3978 [TJOI2015]概率论

Link
(f_n)表示(n)个点的不同构的二叉树个数,(g_n)表示(n)个点的不同构的二叉树的叶节点数之和。
可以得到(g_n=nf_{n-1})

证:每棵(n-1)个点的二叉树有(n)个位置可以挂上一个叶节点进而得到(n)个点的二叉树。

我们知道(f_n=C_n=frac{2nchoose n}{n+1}),因此(ans=frac{g_n}{f_n}=frac{nf_{n-1}}{n}=frac{2(n+1)}{4n-2})

#include <cstdio>
int main()
{
    double n;
    scanf("%lf",&n);
    printf("%.9f",n*(n+1)/(2*(2*n-1)));
    return 0;
}
原文地址:https://www.cnblogs.com/cjoierShiina-Mashiro/p/12257886.html