• [洛谷P3978][TJOI2015]概率论


    题目大意:对于一棵随机生成的$n$个结点的有根二叉树,所有不同构的形态等概率出现(这里同构当且仅当两棵二叉树根相同,并且相同节点的左儿子和右儿子都相同),求叶子节点个数的期望是多少?

    题解:令$f_n$表示$n$个节点的二叉树的个数,$g_n$表示这$f_n$棵二叉树的叶子节点个数和。

    打(ti)表(jie)发现:$g_n=n f_{n-1}$

    证明:而每棵$n-1$个点的二叉树恰好有$n$个位置可以悬挂一个新的叶子,所以每棵$n-1$个点的二叉树被扩展了$n$次。发现会算重复,但是对于一个有$k$个叶子节点的二叉树,就会被重算$k+1$次,刚好就是叶子节点的个数,所以$g_n=n f_{n-1}$
    $$
    dfrac{g_n}{f_n}=dfrac{nf_{n-1}}{f_n}\
    egin{align*}
    f_n&=sumlimits_{i=0}^{n-1}f_if_{n-i-1}\
    &=dfrac{inom{2n}n}{n+1}\
    &(即卡特兰数)\
    end{align*}\
    g_n=dfrac{n(n+1)}{2(2n-1)}
    $$


    更正常的生成函数证明方法

    卡点:未开$long;long$

    C++ Code:

    #include <cstdio>
    long long n;
    int main(){
        scanf("%lld", &n);
        printf("%.10lf
    ", n * (n + 1) / 2.0 / (2.0 * n - 1.0));
        return 0;
    }
    

      

  • 相关阅读:
    Jetty 入门
    Spring MVC 学习 之
    Spring MVC 学习 之
    Spring MVC 学习 之
    call apply 使用
    maven学习系列 之 常见问题
    SQL Server数据库partition by 与ROW_NUMBER()函数使用详解[转]
    .NET 同步 异步 委托
    常用JS方法
    通过 NPOI 生成 Excel
  • 原文地址:https://www.cnblogs.com/Memory-of-winter/p/9712977.html
Copyright © 2020-2023  润新知