• 【数学】普通型生成函数


    序列 (a=[a_0,a_1,a_2,a_3,a_4,...]) 的普通型生成函数,定义为形式幂级数: (F(x)=sumlimits_{i=0}^{n}a_ix^i)

    若序列 (a) 拥有通项公式,那么 (a_i) 就等于通项公式。

    再设 (G(x)=sumlimits_{i=0}^{n}b_ix^i) ,有
    (F(x)pm G(x)=sumlimits_{i=0}^{n}(a_ipm b_i)x^i)
    (F(x)G(x)=sumlimits_{i=0}^{n}x^isumlimits_{j=0}^{i}a_jb_{i-j})

    加减法是对应系数加减,乘法理所当然是卷积,除法要用多项式求逆。

    封闭形式

    常数序列 ([1,1,1,1,1...]) 的生成函数,即 (a_i=1)

    发现可以乘以一个 (x) ,再加上一个 (1) ,使得整个序列往右移动一个位置 (xF(x)+1=F(x)) ,解得 (F(x)=frac{1}{1-x})

    等比数列的序列 ([1,p,p^2,p^3,p^4,...]) 的生成函数 (F(x)=sumlimits_{i=0}^{n}p^ix^i) ,即 (a_i=p^i)

    发现可以乘以一个 (px) ,再加上一个 (1) ,使得整个序列往右移动一个位置 (pxF(x)+1=F(x)) ,解得 (F(x)=frac{1}{1-px}) ,这个是等比数列的封闭形式。

    练习

    • 序列 ([0,1,1,1,1...]) 的生成函数,即 (a_i=[i eq1])

    这个看起来就是等比数列去掉了第0项,那么故技重施乘以一个 (x) ,再加上一个 (x) ,使得整个序列往右移动一个位置 (xF(x)+x=F(x)) ,解得 (F(x)=frac{x}{1-x})

    • 序列 (a_i=[iequiv rmod m])

    右移 (m) 项(乘以 (x^m) ),再补上缺少的开头(加上 (x^r) ),使得整个序列往右移动两个位置 (x^mF(x)+x^r=F(x)) ,解得 (F(x)=frac{x^r}{1-x^m})

    特别的,当m=2,r=0时,为偶数项:(F(x)=frac{1}{1-x^2}),当m=2,r=1时,为奇数项 (F(x)=frac{x}{1-x^2})

    • 序列 ([1,2,3,4,5,...]) 的生成函数,即 (a_i=i+1)

    这种系数是某个和 (i) 有关的,可能会和求导有关系。 (F(x)=sumlimits_{i=0}^{n}(i+1)x^i) ,看起来是多项式 (sumlimits_{i=0}^{n}x^{i+1}=frac{1}{1-x}) 的导数,故解得 (F(x)=(frac{1}{1-x})'= frac{1}{(1-x)^2})

    • 序列 ([0,1,2,3,4,5,...]) 的生成函数,即 (a_i=i)

    这个序列先减去一个 (1) ,再除以一个 (x) ,使得整个序列往左移动一个位置,变成上面的结果,即 (frac{F(x)-1}{x}=frac{1}{(1-x)^2}) ,解得 (F(x)=frac{x}{(1-x)^2}+1)

    • (a_i=C_n^i) :显然 (F(x)=(1+x)^n)

    • (a_i=C_{n+i}^i) :解得 (F(x)=frac{1}{(1-x)^{n+1}}) ,要用归纳法证明 。

    详见具体数学P281。

  • 相关阅读:
    网络爬虫基础练习
    综合练习:词频统计
    画图
    Hadoop综合大作业
    hive基本操作与应用
    理解MapReduce计算构架
    熟悉HBase基本操作
    爬虫大作业
    熟悉常用的HDFS操作
    数据结构化与保存
  • 原文地址:https://www.cnblogs.com/purinliang/p/14339830.html
Copyright © 2020-2023  润新知