普通型生成函数学习笔记

  参考:http://www.matrix67.com/blog/archives/120

 前置

    广义组合数:C(n,m)=n·(n-1)·……·(n-m+1)/m! (n∈R,m∈N)

    广义二项式定理:

    等比数列求和公式:a1+a1·q+a1·q2+a1·q3+……a1·qn=a1(1-qn+1)/(1-q)


    无穷等比数列求和:a1+a1·q+a1·q2+a1·q3+……=a1/(1-q) (q∈(-1,1))

 定义:

    对于数列a0,a1,a2,a3……,定义其生成函数为f(x)=a0+a1·x+a2·x2+a3·x3+……

    如对于数列ai=C(n,i),生成函数为f(x)=(1+x)n

    很多时候是无穷级数。

    其中x没有实际意义,可以取任意值。

    组合数学中用于各种计数问题。用次数表示所选物品个数,系数表示该选择的方案数,多项式相乘可以得到所选物品总数在各种情况下的方案数。

 栗子:

    我们要从苹果、香蕉、橘子和梨中拿一些水果出来,要求苹果只能拿偶数个,香蕉的个数要是5的倍数,橘子最多拿4个,梨要么不拿,要么只能拿一个。问按这样的要求拿n个水果的方案数。

    构造出生成函数。

    苹果:f(x)=1+x2+x4+x6+……=1/(1-x2)

    香蕉:f(x)=1+x5+x10+x15+……=1/(1-x5)

    橘子:f(x)=1+x+x2+x3+x4=(1-x5)/(1-x)

    梨:f(x)=1+x

    第一项1可以看做1·x0,后面每一项都省略了系数1。

    其中苹果和香蕉都是无穷级数(虽然会受到n的限制)。因为x可以任意取值,不妨令x∈(-1,1),那么其收敛,就有了上面的结果。

    将各式相乘,表示在每一类里各选择一种。一堆抵消之后,最终结果是1/(1-x)2

    这个结果看起来没什么意义,于是继续化式子。

    1/(1-x)2=(1-x)-2=C(-2,0)·(-x)0+C(-2,1)·(-x)1+C(-2,2)·(-x)2+C(-2,3)·(-x)3+……

            =1+2x+3x2+4x3……

    稍微验证一下就会发现n次项对应的系数是选n个物品的方案数。

 应用:

    与多项式的各种运算搭配食用风味更佳。

    经常可以用来捣鼓卷积形式的递推式。

    好像也没什么好说的了。

    (怎么感觉生成函数全是权限题啊好不友善啊)

转载于:https://www.cnblogs.com/Gloid/p/9438683.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值