Luogu P3978 [TJOI2015]概率论

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

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

我们知道\(f_n=C_n=\frac{2n\choose 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;
}
posted @ 2020-02-03 22:51  Shiina_Mashiro  阅读(83)  评论(0编辑  收藏  举报