【bzoj4001】[TJOI2015]概率论(卡特兰数+生成函数+数学期望)

传送门

题意:
对于一棵随机生成的(n)个结点的有根二叉树,计算叶子结点个数的期望。

思路:
显然根据期望的定义我们可以得到:假设(f(n))(n)个结点的叶子个数和,(g(n))(n)个结点时二叉树的个数,那么答案即为(displaystyle frac{g(n)}{f(n)})
其中(displaystyle g(n)=sum_{i=0}^{n-1}g(i)cdot g(n-1-i)),显然为卡特兰数,即(displaystyle g(n)=frac{1}{n+1}cdot {2nchoose n})
考虑怎么求(f(n):)

[f(n)=2cdotsum_{i=0}^{n-1}f(i)cdot g(n-1-i) ]

接下来考虑用生成函数求解有(displaystyle f=2x*f*g+x),后面加上(x)是考虑(f(1)=1)的情况。
那么(displaystyle f=frac{x}{1-2x*g}),因为(g)的生成函数为(displaystyle frac{1-sqrt{1-4x}}{2x}),那么(displaystyle f=frac{x}{sqrt{1-4x}})
然后将分母用广义牛顿二项式定理展开:

[egin{aligned} frac{1}{sqrt{1-4x}}=&(1-4x)^{-frac{1}{2}}\ =&sum_{i=0}^{infin}{-frac{1}{2}choose i}(-4x)^i\ =&sum_{i=0}^{infin}frac{(-frac{1}{2})cdot (-frac{3}{2})cdots (-frac{2i-1}{2})}{i!}(-4)^ix^i\ =&sum_{i=0}^{infin}frac{1cdot 3cdots (2i-1)}{2^{i}cdot i!}4^ix^i\ =&sum_{i=0}^{infin}frac{(2i-1)!}{2^icdot i!cdot 2cdot 4cdots (2i-2)}4^ix^i\ =&sum_{i=0}^{infin}frac{(2i-1)!}{2^{2i-1}cdot i!cdot (i-1)!}4^ix^i\ =&sum_{i=0}^{infin}2cdot {2i-1choose i}x^i\ =&sum_{i=0}^{infin}{2ichoose i}x^i end{aligned} ]

所以(f)的第(n)项系数即为(displaystyle{2i-2choose i-1})
那么最终答案也很好求了,为(displaystylefrac{n(n+1)}{2(2n-1)})
代码略。

原文地址:https://www.cnblogs.com/heyuhhh/p/12734577.html