ことばがありあまれどなお、 このゆめはつづいて|

trsins

园龄:3年10个月粉丝:18关注:2

【做题记录】TJOI2015 概率论

  • TJOI2015】概率论

    • 算法:生成函数

题目:

对于一棵随机生成的 n 个结点的有根二叉树(所有互相不同构的形态等概率出现),求它的叶子节点数的期望是多少。

题解:

p(n) 表示有 n 个节点的二叉树的个数,显然 p(0)=1

f(n)表示 n 个节点的二叉树叶子节点的个数,显然 f0=0,f1=1

那么 ans=fipi

  • 对于 pi,由于左右的子树都是二叉树,所以枚举左右子树的点数:

pn=i=0n1pipni1

即卡特兰数,通项为 (2nn)n+1

  • 对于 fi,枚举左右子树的大小,由 p 推出,且左右对称所以最后答案 ×2

fn=2i=0n1fi×pni1

不妨设 A(x)p 的生成函数,B(x)f 的生成函数。

易知

A(x)=xA2(x)+1,B(x)=2xA(x)B(x)+x

对于 A(x) 它的封闭形式为 1±14x2x。(求根公式)

检验,易知 1+14x2x 不行,舍去。

B(x)=x×(14x)0.5

(xA(x))=114x=B(x)x

xA(x)的每一项求导,

(n+1)pnxn

=fn+1xn+1x=fn+1xn

fn+1=(n+1)pn

fn=pn1

ans=n(n+1)2(2n1)

本文作者:trsins

本文链接:https://www.cnblogs.com/trsins/p/15776596.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   trsins  阅读(6)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示