生成函数


多项式

我们很熟悉单项式,例如: $2ab$,$x^{4}$,$\frac{a}{2}$,$…$

而多项式由单项式组合而成,例如:$2ab+x^{4}+\frac{a}{2}$,$ax+b$,$…$

多项式表达,例如:$y=4x$,$f(x)=x^{2}+2x+1$,$…$。

现在我们有多项式形式:

函数形式:

我们现在使

于是:

不难发现:

那么

生成函数

将等式两边同时乘 $\frac{1}{2}$:

所以

所以

注意:$x!=1$,分母不能为 $0$。

由于 $…$ 代表这个表达式后面还有无穷个单项式,而当 $n$ 无限大时,$\frac{1}{x^{n+1}}$ 无限趋近于 $0$,所以 $f(\frac{1}{2})=2$,$f(\frac{1}{x})=\frac{1}{1-\frac{1}{x}}$

所以

而 $\frac{1}{1-x}(0 < x < 1)$ 即 $f(x)$ 的生成函数,更确切地说是 $1+x+x^{2}+x^{3}+x^{4}+x^{5}+x^{6}+…(0 < x < 1)$ 的生成函数。

极限思想

首先引入一个例子:证明 $0.\dot{9}=1$

在主观上,我们总感觉两者差了一点点,但是这个结果却是事实。

证明:

两边同时乘 $10$:

两者做差:

解得

所以

我们还可以换一种证明:

系数决定函数

它的系数对应为:

它的系数对应为:

我们可以发现不同的系数可以用来表示不同的函数,不同的函数也可以被不同的系数表示(就像坐标系的各种函数都可以被表示)。

生成函数加和

斐波那契数列:

(这里建议根据斐波那契数列推导式独立思考片刻)

此时的多项式系数:

不难发现 $x$ 的系数大于 $2$ 的每一项关系满足:($x$ 指数相同的单项式):$2$ 式的系数 $+3$ 式的系数 $=1$ 式的系数(例如:$x^2$ 的三式系数关系 $f(2)=f(1)+f(0)$)

所以:

由于:

所以:

我们现在已经开始建立函数与数列之间的桥梁了

函数:$F(x)=\frac{1}{1-x-x^{2}}$

数列:$f(n)=f(n-1)+f(n-2)$

卷积

生成函数乘一个数或多项式或单项式或生成函数生成新的生成函数的操作叫卷积。

首先我们先回忆乘法分配律:$(a+b)\times(c+d)=a\times c+a\times d+b\times c+b\times d$

过程描述:前一个括号里的单项式分别乘后一个括号里的单项式形成新的多项式。

同理:我们也用生成函数的每一个单项式乘要乘的每一个单项式,形成新的多项式(生成函数)。

令:

那么:$F(x)\times G(x)$ 的 $x^4$ 的系数是多少?

我们不难发现 $a_ib_jx^{i+j}$,所以找到所有 $i+j=4$ 的情况的系数和即可,即:

可以看到,我们从 $F(x)$ 中获取系数为 $[0,4]$,$G(x)$ 中同样只不过顺序不同,两者分别相乘就像“卷”起来一样。

生成函数前缀和

(系数全为 $1$)

我们通过目标次数获取想得到的系数。

生成函数实用

求 $1^2+2^2+3^2+…$

首先我们知道系数全为 $1$ 的生成函数为 $f(x)=\frac{1}{1-x}$

我们让它和原生成函数“卷”一下(即前缀和):$f(x)\times \frac{1}{1-x}=\frac{1}{(1-x)^2}$,此时的系数:$1,2,3,4,5,6…$

再和原生成函数“卷”一下:$f(x)\times \frac{1}{1-x}=\frac{1}{(1-x)^3}$,此时的系数:$1,3,6,10,15,…$

此时和我们的目标可以看出来关系了:$0+1=1,1+3=4,3+6=9,6+10=16$。

所以我们要加它的错位生成函数(即原函数 $\times x$,指数错位带动系数错位)。

$f(x)+x\times f(x)=\frac{x+1}{(1-x)^3}$,此时的系数:$1,4,9,16,25,…$

但是我们要求的是和,所以要再和原生成函数“卷”一次:$f(x)=\frac{1+x}{(1-x)^4}$

住它的下标是 $0$ 开始的,所以我们要他整体在往后错一位:

二项式定理

可以根据需要的 $r$,找到系数 $C^r_n$,得到结果。

指数为负数时,二项式定理同样适用。

例题:P1313 NOIP2011 提高组 计算系数

生成函数多样性

此时的系数为:$a_0=1,a_1=1,a_2=\frac{1}{2!},a_3=\frac{1}{3!},…$

我们此时的多项式形式为:

但是,当我们改成:

此时的系数为:$a_0=1,a_1=1,a_2=1,a_3=1,…$

所以不同的系数形式会导致系数不同,生成函数的形式也更加灵活。

不止系数形式可以变形:

($Dirichlet$ 级生成函数)

我们可以看到它的 $x$ 变成了指数,并且第一位系数是 $a_1$(原因后面解释),这又是一种新的生成函数。

我们现在让它们分别“卷”一下:

现在我们要求:$F(x)\times G(x)$

我们前面那已经讲了“卷积”这个概念,我们现在写几位感受一下:

跟原来的生成函数长得很像,但是由于系数不同,我们要注意处理,再求一次 $x^4$:

现在我们将形式槟城我们新的形式:

虽然“卷”的样子不同,但方式相同。

不难发现 $F(s)\times G(s)$ 的单项式乘法公式是 $\frac{a_ib_j}{(ij)^s}$

此时不同于 $i+j=n$,变成了 $i\times j=n$。

现在我们求一下 $\frac{1}{18^s}$

所以:

求 $n$ 的约数个数

设 $d(n)$ 表示 $n$ 的约数的个数。

系数全部为 $1$ 的形式。

这类运算很神奇:

而:

即为莫比乌斯反演。

回到我们的标题:

就像我们上面说的

只不过,所有的系数都变成了 $1$。

所以它的“卷积”就变成了公约数的个数,例如:

它的系数变成了 $6$。

因为“卷”的时候根据的是约数才会被“卷”走,所以当系数为 $1$ 时,系数即为约数个数。

生成函数是“高等数学”很基础的工具,还有很多妙用,一定要学会!


文章作者: 王大神——A001
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 王大神——A001 !
  目录