OGF学习笔记

学习笔记:OGF

定义(OGF):实数序列 a0,a2,,an 的普通生成函数是无穷级数

G(x)=i=0aixi

引入一些比较经典的生成函数:

斐波那契生成函数:

由:a0=0,a1=1,an=an1+an2(n>1)

有:

F(x)=xF(x)+x2F(x)+a0+a1xa0x

F(x)=x1xx2

考虑如何将其展开。

考虑等比数列的封闭形式与展开形式。

待定系数可得:

x1xx2=1511+52x+151152x

那么我们根据等比数列的展开式,就可以得到斐波那契数列的通项公式:

x1xx2=x0xn15((1+52)n(152)n)

卡特兰数的生成函数:

卡特兰数的递推式:

Hn=i=0n1HiHni1

其中

我们用卷积来构造关于 H(x) 的方程:

H(x)=n0Hnxn

=1+n1i=0n1HnxiHni1xni1x

=1+xH2(x)

解得:

H(x)=1±14x2x

由于 H0=H1=1

H(x)=1+14x2x

我们运用牛顿二项式定理。

(14x)12=n0(12n)(4x)n

(14x)12=1+n1(12)nn!(4x)n

注意到 (12)n=(1)n1(2n2)!22n1(n1)!

带回原式:

(14x)12=1+n1(1)n1(2n2)!22n1(n1)!n!(4x)n

(14x)12=1n1(2n2)!(n1)!n!2xn

(14x)12=1n1(2n1n)12n12xn

带回原式:

H(x)=1±14x2x

H(x)=12xn1(2n1n)12n12xn

H(x)=n1(2n1n)12n1xn1

H(x)=n0(2n+1n+1)12n+1xn

H(x)=n0(2nn)1n+1xn

这样我们就得到了卡特兰数的通项公式。

练手题:

p3978

这道题明显是卡特兰数的变式题:

hi 表示这 Hi 个二叉树的叶子节点个数之和,有 h0=0,h1=1

我们可以根据对称性及其定义可得:

n2:hn=2i=0n1hiHni1

根据生成函数乘法性质:

h(x)h0h1x=2h(x)H(x)x

根据 H(x)=1+14x2x

有:

h(x)=x14x

h(x)=xi=0(12i)(4x)i

hn=(12n1)(1)n122(n1)=i=0n2(12i)(n1)!(1)n122(n1)

=(2n3)!!(n1)!2n1=(2n2)!((n1)!)2=(2n2n1)

那么题意所求的期望为:

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

p4841

这里设 fn点数为 n 的无向连通图gn点数为 n 的无向图

显然:

gn=i=1n(n1i1)figni

仔细思考,又有: gn=2(n2)

带入式子:

2(n2)=i=1n(n1i1)fi2(ni2)

2(n2)(n1)!=i=1nfi(i1)!2(ni2)(ni)!

然后定义:

f(x)=n=1fn(n1)!xi

g(x)=n=02(n2)n!xi

h(x)=n=12(n2)(n1)!xi

g(x),h(x) 都是已知的,对 g 进行多项式求逆,再乘 h 即可。

code

 

posted @   Detect-Perplexity  阅读(154)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示