TJOI2015 概率论

生成函数做法

前置:卡特兰数

(C_n)(n)个节点的二叉树的个数,(C_0=1),对于(n geq 1),取一个根节点,枚举其左子树大小,有

[C_n=sum_{i=0}^{n-1}C_iC_{n-1-i} ]

则卡特兰数的生成函数(C)满足

[C(x)=C_0+xC^2(x)=1+xC^2(x),C_0=C(0)=1 ]

解方程得

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

上面为什么不取正呢?考虑x=0,取负上下为等阶无穷小,值为1;取正上面是2下面是0,无意义。所以只能取负。

[C(x)=frac{1}{2x}left( 1- sum_{n=0}^{infty}inom{frac{1}{2}}{n} (-4x)^n ight)=-frac{1}{2}sum_{n=0}^{infty} inom{frac{1}{2}}{n+1}(-4)^{n+1}x^n ]

[C_n=-frac{1}{2}inom{frac{1}{2}}{n+1}(-4)^{n+1}=2frac{prod_{i=0}^{n}(frac{1}{2}-i)}{(n+1)!}(-1)^n 2^{2n} ]

[=frac{(2n-1)!!}{(n+1)!}2^n=frac{(2n)!}{n!n!(n+1)}=frac{1}{n+1}inom{2n}{n} ]

分析

(h_n)表示这(C_n)个二叉树的叶子数目之和,有(h_0=0,h_1=1)

对于(ngeq 2),枚举根的左儿子大小并由对称性,有

[h_n=2sum_{i=0}^{n-1}h_iC_{n-1-i} ]

[h(x)-h_0-h_1x=2xh(x)C(x) ]

[h(x)=2xh(x)C(x)+x ]

根据(C(x)=frac{1-sqrt{1-4x}}{2x}),解得

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

[h(x)=xsum_{k=0}^{infty}inom{-frac{1}{2}}{k}(-4x)^k ]

[h_n=inom{-frac{1}{2}}{n-1}(-1)^{n-1}2^{2(n-1)}=frac{prod_{i=0}^{n-2}(-frac{1}{2}-i)}{(n-1)!}(-1)^{n-1}2^{2(n-1)} ]

[=frac{(2n-3)!!}{(n-1)!}2^{n-1}=frac{(2n-2)!}{(n-1)!(n-1)!}=inom{2n-2}{n-1} ]

那么期望值为

[frac{h_n}{C_n}=frac{n(n+1)}{2(2n-1)} ]

组合做法

对于一个叶子,可以用一个pair来描述:去掉该叶子后的二叉树,在该二叉树的哪个位置添加该叶子。

每个pair也对应了唯一的叶子。所以考虑计数这个pair

去掉该叶子的二叉树有N − 1个点,数目为CatalanN−1

对于一个N − 1个点的二叉树,考虑有多少个空位可以放。总共有2 × (N − 1)个空位,但是有N − 2个点已经占据了一个空位,所以有N个空位可以添加叶子

两个方案数相乘,再除以CatalanN,化简一下发现答案是 (frac{n(n+1)}{4n-2})

原文地址:https://www.cnblogs.com/autoint/p/9520580.html