• [TJOI 2015] 概率论


    题目

    传送门

    解法

    首先考虑到算叶子节点数的期望。设 (f_i) 为节点数为 (i) 时叶子节点数的期望,那么这个状态转移显然还需要 (g_i) 为节点数为 (i) 二叉树种类来计算概率。

    容易写出 (g) 的转移方程式(就是枚举子树大小,(g_0=1)):

    [g_n=sum_{i=0}^n g_ig_{n-i-1} ]

    这是卡特兰数的递推式,关于它有几个 结论

    可以写出 (f) 的转移方程式((f_0=0)):

    [f_n=sum_{i=0}^{n-1}(f_i+f_{n-i-1}) imes frac{g_i imes g_{n-i-1}}{g_n} ]

    需要注意的是,这里递推的 (n) 应该从 (2) 开始,因为大小为 (1) 就是叶子节点了。

    容易发现,(i,{n-i-1}) 对应的 (g) 的那一坨是一样的,所以我们可以将 (2 imes(f_i+f_{n-i-1})) 弄成 (2f_i+2f_{n-i-1})

    [=sum_{i=0}^{n-1}2f_i imes frac{g_i imes g_{n-i-1}}{g_n} ]

    然后可以得出:

    [f_n imes g_n=sum_{i=0}^{n-1}2f_i imes g_i imes g_{n-i-1} ]

    我们设 (h_i=f_ig_i),构造 (h_i) 的普通生成函数 (H(x))(g_i) 的普通生成函数 (G(x))

    类似卡特兰数的封闭形式推导,我们也可以推出 (H(x)) 的封闭形式。

    [H(x)=sum_{nge 0}x^nf_ng_n ]

    [=0+x+sum_{nge 2}x^nf_ng_n ]

    [=x+sum_{nge 2}x^nsum_{i=0}^{n-1}2f_i imes g_i imes g_{n-i-1} ]

    [=x+2sum_{nge 2}x^nsum_{i=0}^{n-1}h_i imes g_{n-i-1} ]

    [=x+2xH(x)G(x) ]

    从而解出

    [H(x)=frac{x}{sqrt{1-4x}} ]

    如果令 (H'(x)x=H(x)),那么就有 (H'(x)=(1-4x)^{-frac{1}{2}}),我们可以用牛顿二项式定理展开,求得其第 (n) 项系数为 (C(2n,n))。而 (H(x)) 相当于 (H'(x)) 右移一项,其第 (n) 项系数(即 (h_i))为 (C(2n-2,n-1))

    所以 (f_i=frac{n(n+1)}{2(2n-1)})

    代码

    这就不用放代码了吧。
    
  • 相关阅读:
    Handbook of Document Image Processing and Recognition文档图像处理与识别手册 前言&目录
    An Overview of Symbol Recognition符号识别综述
    Resnet
    python detect.py
    pytorch训练模型
    如何有效使用Pretrained Models
    SOLID原则 【转】
    vi编辑器
    linux基础知识 【转】
    linux 常用命令1【转】
  • 原文地址:https://www.cnblogs.com/AWhiteWall/p/14417949.html
Copyright © 2020-2023  润新知