zoukankan      html  css  js  c++  java
  • 普通生成函数

    定义

    序列 (a) 的普通生成函数(ordinary generating function,OGF)定义为形式幂级数:

    [F(x)=sum_{n}a_n x^n ]

    (a) 既可以是有穷序列,也可以是无穷序列。常见的例子(假设 (a)(0) 为起点):

    1. 序列 (a=langle 1,2,3 angle) 的普通生成函数是 (1+2x+3x^2)
    2. 序列 (a=langle 1,1,1,cdots angle) 的普通生成函数是 (sum_{nge 0}x^n)
    3. 序列 (a=langle 1,2,4,8,16,cdots angle) 的生成函数是 (sum_{nge 0}2^nx^n)
    4. 序列 (a=langle 1,3,5,7,9,cdots angle) 的生成函数是 (sum_{nge 0}(2n+1)x^n)

    换句话说,如果序列 (a) 有通项公式,那么它的普通生成函数的系数就是通项公式。

    基本运算

    考虑两个序列 (a,b) 的普通生成函数,分别为 (F(x),G(x)) 。那么有

    [F(x)pm G(x)=sum_n (a_npm b_n)x^n ]

    因此 (F(x)pm G(x)) 是序列 (langle a_npm b_n angle) 的普通生成函数。

    考虑乘法运算,也就是卷积:

    [F(x)G(x)=sum_n x^n sum_{i=0}^na_ib_{n-i} ]

    因此 (F(x)G(x)) 是序列 (langle sum_{i=0}^n a_ib_{n-i} angle) 的普通生成函数。

    封闭形式

    在运用生成函数的过程中,我们不会一直使用形式幂级数的形式,而会适时地转化为封闭形式以更好地化简。

    例如 (langle 1,1,1,cdots angle) 的普通生成函数 (F(x)=sum_{nge 0}x^n) ,我们可以发现

    [F(x)x+1=F(x) ]

    那么解这个方程得到

    [F(x)=frac{1}{1-x} ]

    这就是 (sum_{nge 0}x^n) 的封闭形式。

    考虑等比数列 (langle 1,p,p^2,p^3,p^4,cdots angle) 的生成函数 (F(x)=sum_{nge 0}p^nx^n) ,有

    [egin{aligned}F(x)px+1 &=F(x)\F(x) &=frac{1}{1-px}end{aligned} ]

    等比数列的封闭形式与展开形式是常用的变换手段。

    常用的封闭形式与展开形式的转化(方式)

    1、用已知封闭形式转换

    [F(x)=sum_{nge 1}x^n=sum_{nge 0}x^n-1=dfrac{x}{1-x} ]

    2、代入已知封闭形式

    [F(x)=sum_{nge 0}x^{2n}=frac{1}{1-x^2} ]

    3、求导(也可以用5式推出)

    [egin{aligned}F(x)&=sum_{nge 0}(n+1)x^n\&=sum_{nge 1}nx^{n-1}\&=sum_{nge 0}(x^n)'\&=left(frac{1}{1-x} ight)'\&=frac{1}{(1-x)^2}end{aligned} ]

    4、二项式定理:

    [F(x)=sum_{nge 0}inom{m}{n}x^n=(1+x)^m ]

    5、常用

    [F(x)=sum_{nge 0}inom{m+n}{n}x^n=frac{1}{(1-x)^{m+1}} ]

    广义牛顿二项式定理

    我们重新定义组合数的运算:

    [inom{r}{k}=frac{r^{underline{k}}}{k!}quad(rinmathbf{C},kinmathbf{N}) ]

    注:(r^{underline{k}}=r*(r-1)*(r-2)*...*(r-k+1))

    注意 (r) 的范围是复数域。在这种情况下。对于 (alphainmathbf{C}) ,有广义牛顿二项式定理

    [(x+y)^m=sum_{nge 0}inom{m}{n}x^n y^{m-n} ]

    二项式定理其实是广义牛顿二项式定理的一个特殊情况,而广义牛顿二项式定理是在生成函数的运算中经常要用到的公式。

  • 相关阅读:
    day29
    day28
    day27
    查询区间内有多少个不同的数(线段树/树状数组)
    树状数组变形:带区间修改的树状数组
    特征提取:PCA主成分分析法和NMF非负矩阵分解法
    Trie树
    Logistic&Softmax回归
    高斯贝叶斯分类器(GNB实战)
    朴素贝叶斯分类器(伯努利贝叶斯+高斯贝叶斯+多项式贝叶斯)
  • 原文地址:https://www.cnblogs.com/ucprer/p/14156874.html
Copyright © 2011-2022 走看看