生成函数

写在前面

有很多方法可以从一个级数生成一个数列,一般来说,只要选取Kn(z)满足

ngnKn(z)=0n,gn=0

即可。

一般来说,若无特别定义,下指标为负的部分全为0

写GF要特别注意位置0

在一定语境中,G(z)会简写为G

和多项式之间

联系密切,因为生成函数化出来的东西要使用多项式技术去实现。

这二者都是形式幂级数:n0anzn,我们不必考虑其收敛性。

在上面可以定义各种运算。特别地,expln使用了麦克劳林展开来定义。

exp(F)=n0Fnn!ln(F+1)=n1(1)n+1Fnn

可以验证F的乘法逆存在当且仅当f00,若存在则唯一。

OGF的k次幂的组合意义

Fk=n0[1tkat=n1jkfaj]zn

EGF的k次幂的组合意义

F^k=n0[1tkat=n(na1,a2,,ak)1jkfajaj!]znn!

n有标号元素分到k有标号集合中形成具有特殊性质的组合结构的方案数的EGF。

EGF的exp的组合意义

我们给EGF中的系数赋予一个组合意义:fk表示将k个元素构成具有特殊性质的组合结构的方案数(比如说构成DAG,构成二叉树etc.)。

Fk(n)表示将n个有标号元素划分为k非空无序集合(无标号)且构成特殊结构的情况的方案数,那么:

Fk(n)=n!k!1ikai=n1jkfajaj!

F^=n0fnznn!Gk=n0Fk(n)znn!

化一下:

Gk=n0Fk(n)znn!=n0n!k!1ikai=n1jkfajaj!znn!=1k!n0zn1ikai=n1jkfajaj!=1k!n01ikai=n1jkfajzajaj!=1k!F^k

左右两边对k求和:

k0Gk=k01k!F^k=expF^

尝试取第n项系数看看是什么东西:

[zn]expF^=k0[zn]Gk=1n!k0Fk(n)

就是把n有标号元素分成若干个 无标号集合,每个集合中形成具有特殊性质的组合结构的方案数的EGF。

大概就这样。太菜了。

Euler变换

还是写在符号化方法吧。

普通生成函数

选取Kn(z)=zn

通常记A(z)=n0anzn为序列{an}的普通生成函数(OGF)。

给出一些容易遗忘的运算:

  • zmG(z)=ngnmzn,m>0

  • G(z)g0g1zgm1zm1zm=n0gn+mzn,m>0

  • G(cz)=n0gncnzn

  • G(z)=n(n+1)gn+1zn

  • zG(z)=nngnzn

  • 0zG(t)dt=n11ngn1zn

特别的,[zn]F(z)G(z)=kfkgnk,相乘就是得到了数列的卷积

特别有用的式子11z{an=1}的OGF。

特别有用的运算:

  • [zn]11zG(z)=kngk,即做前缀和

  • (11z)(n)可以提供形如in的因子。

  • [zn]1(1z)c=(c+n1n),诸如此类。

提取标号为偶数项:G(z)+G(z)2,提取标号为奇数项:G(z)G(z)2

解递归式

  1. 用数列中其他元素写出一个关于n单个方程,这个方程应该对所有整数n成立。可能需要利用艾弗森括号之类的。注意边界。

  2. zn乘两边,并在两边对n求和。左边就是G,右边应该处理成含有G的式子。

  3. 解方程得到G的封闭形式。

  4. 提取G的第n项系数。

如果解方程得到了多个根,验证G(0)=g0是否为正确的数值来舍。

多重卷积

{fn}{gn}卷积后再与{hn}卷积,得到:

[zn]F(z)G(z)H(z)=j+k+l=nfjgkhl

更加多重的形式也类似。

特别的,我们关注自己与自己的m次卷积,得到:

[zn]Gm=k1+k2++km=ngk1gk2gkm

很有用。

指数生成函数

有这个东西是因为有时候{gn}的OGF很难求,而{gnn!}的OGF很好求,性质良好。

选取Kn(z)=znn!,称之为EGF。

{gn}的EGF为G^(z)=n0gnznn!。但同时G^也是{gnn!}的OGF。

运算:

  • zG^(z)=n0gnzn+1n!=n0ngn1znn!

  • [zn]ddzG^(z)=gn+1,相当于左移。

  • [zn]0zG^(t)dt=gn1,相当于右移。

特别的,[zn]F^(z)G^(z)=k(nk)fkgnk,称之为数列的二项卷积

{gn=kn}的EGF为G^(z)=n0knznn!=ekz

多重卷积

大多数时候是自己与自己卷积,不同的EGF进行多重卷积是类似的。

[zn]Gm=k1+k2++km=n(nk1,k2,,km)gk1gk2gkm

通常两边还会继续同除以n!

Dirichlet生成函数

概率生成函数

符号化方法

posted @   RandomShuffle  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示