简介
生成函数用于解决以下问题:给定数列前几项和递推关系,求数列通项。
定义一个数列
a
=
a
0
,
a
1
,
a
2
,
.
.
.
a={a_0,a_1,a_2,...}
a=a0,a1,a2,...的生成函数为
f
(
x
)
=
∑
n
≥
0
a
i
x
i
f(x)=\sum_{n\ge0}a_ix^i
f(x)=∑n≥0aixi。
显然,函数
f
(
x
)
f(x)
f(x)中
x
i
x^i
xi的系数就是数列的第
i
i
i项。生成函数的思想就是利用多项式运算求得
f
(
x
)
f(x)
f(x)系数的通项公式,即数列的通项公式。
封闭形式
设无穷幂级数
f
(
x
)
=
1
+
x
+
x
2
+
.
.
.
f(x)=1+x+x^2+...
f(x)=1+x+x2+...,则有
f
(
x
)
=
x
f
(
x
)
+
1
f(x)=xf(x)+1
f(x)=xf(x)+1,得
f
(
x
)
=
1
1
−
x
f(x)=\frac{1}{1-x}
f(x)=1−x1,
1
1
−
x
\frac{1}{1-x}
1−x1就称为
f
(
x
)
f(x)
f(x)的封闭形式,引用封闭形式可以简化生成函数的四则运算。
例:
f
(
x
)
=
x
+
x
3
+
.
.
.
=
>
f
(
x
)
=
x
2
f
(
x
)
+
x
=
>
f
(
x
)
=
x
1
−
x
2
f(x)=x+x^3+...=>f(x)=x^2f(x)+x=>f(x)=\frac{x}{1-x^2}
f(x)=x+x3+...=>f(x)=x2f(x)+x=>f(x)=1−x2x
f
(
x
)
=
1
+
2
x
+
3
x
2
+
.
.
.
=
(
1
+
x
+
.
.
.
)
′
=
(
1
1
−
x
)
′
=
1
(
1
−
x
)
2
f(x)=1+2x+3x^2+...=(1+x+...)'=(\frac{1}{1-x})'=\frac{1}{(1-x)^2}
f(x)=1+2x+3x2+...=(1+x+...)′=(1−x1)′=(1−x)21
牛顿二项式定理
定义
r
r
r为实数,
c
c
c为非负整数的组合数公式:
(
r
c
)
=
r
(
r
−
1
)
.
.
.
(
r
−
c
+
1
)
c
!
{r\choose c}=\frac{r(r-1)...(r-c+1)}{c!}
(cr)=c!r(r−1)...(r−c+1)。
有
(
1
+
x
)
r
=
∑
n
≥
0
(
r
n
)
x
n
(1+x)^r=\sum_{n\ge0}{r\choose n}x^n
(1+x)r=∑n≥0(nr)xn。
常用公式:
(
1
−
x
)
−
m
=
1
(
1
−
x
)
m
=
∑
n
=
0
∞
C
m
+
n
−
1
n
x
n
(
1
+
x
)
−
m
=
1
(
1
+
x
)
m
=
∑
n
=
0
∞
(
−
1
)
n
C
m
+
n
−
1
n
x
n
(
1
−
x
)
−
1
=
1
x
−
1
=
∑
n
=
0
∞
x
n
(
1
−
x
)
−
2
=
1
(
1
−
x
)
2
=
∑
n
=
0
∞
(
n
+
1
)
x
n
(
1
+
x
)
1
2
=
1
+
∑
n
=
1
∞
(
−
1
)
n
−
1
2
2
n
−
1
n
C
2
n
−
2
n
−
1
x
n
(1-x)^{-m}=\frac{1}{(1-x)^m}=\sum_{n=0}^{\infty}C_{m+n-1}^nx^n\\(1+x)^{-m}=\frac{1}{(1+x)^m}=\sum_{n=0}^{\infty}(-1)^nC_{m+n-1}^nx^n\\ (1-x)^{-1}=\frac{1}{x-1}=\sum\limits_{n=0}^{\infty}x^n\\ (1-x)^{-2}=\frac{1}{(1-x)^2}=\sum\limits_{n=0}^{\infty}(n+1)x^n\\ (1+x)^{\frac{1}{2}}=1+\sum_{n=1}^{\infty}\frac{(-1)^{n-1}}{2^{2n-1}n}C_{2n-2}^{n-1}x^n
(1−x)−m=(1−x)m1=n=0∑∞Cm+n−1nxn(1+x)−m=(1+x)m1=n=0∑∞(−1)nCm+n−1nxn(1−x)−1=x−11=n=0∑∞xn(1−x)−2=(1−x)21=n=0∑∞(n+1)xn(1+x)21=1+n=1∑∞22n−1n(−1)n−1C2n−2n−1xn
斐波拉契的生成函数
定义斐波拉契数列:
a
0
=
0
,
a
1
=
1
,
a
i
=
a
i
−
1
+
a
i
−
2
(
i
≥
2
)
a_0=0,a_1=1,a_i=a_{i-1}+a_{i-2}(i\ge 2)
a0=0,a1=1,ai=ai−1+ai−2(i≥2)。
其生成函数为
f
(
x
)
=
a
0
+
a
1
x
+
a
2
x
2
+
.
.
.
f(x)=a_0+a_1x+a_2x^2+...
f(x)=a0+a1x+a2x2+...
f
(
x
)
=
x
f
(
x
)
+
x
2
f
(
x
)
−
a
0
x
+
a
0
+
a
1
x
f(x)=xf(x)+x^2f(x)-a_0x+a_0+a_1x
f(x)=xf(x)+x2f(x)−a0x+a0+a1x
f
(
x
)
=
x
1
−
x
−
x
2
f(x)=\frac{x}{1-x-x^2}
f(x)=1−x−x2x,得出其封闭形式,对其封闭形式进行展开后,即可得到斐波拉契数列的通项公式。
展开方式一:
只需展开
g
(
x
)
=
1
1
−
x
−
x
2
g(x)=\frac{1}{1-x-x^2}
g(x)=1−x−x21,再对展开结果乘一个
x
x
x即可。
g
(
x
)
=
∑
n
≥
0
(
x
+
x
2
)
n
=
∑
n
≥
0
∑
i
=
0
(
n
i
)
x
n
−
i
x
2
i
=
∑
n
≥
0
∑
i
=
0
(
n
i
)
x
n
+
i
=
∑
n
≥
0
x
n
∑
i
=
0
n
(
n
−
i
i
)
g(x)=\sum_{n\ge0}(x+x^2)^n=\sum_{n\ge0}\sum_{i=0}{n\choose i}x^{n-i}x^{2i}=\sum_{n\ge0}\sum_{i=0}{n\choose i}x^{n+i}=\sum_{n\ge0}x^n\sum_{i=0}^n{n-i\choose i}
g(x)=∑n≥0(x+x2)n=∑n≥0∑i=0(in)xn−ix2i=∑n≥0∑i=0(in)xn+i=∑n≥0xn∑i=0n(in−i)。
f
(
x
)
=
x
g
(
x
)
=
∑
n
≥
1
x
n
∑
i
=
0
n
−
1
(
n
−
1
−
i
i
)
f(x)=xg(x)=\sum_{n\ge1}x^n\sum_{i=0}^{n-1}{n-1-i\choose i}
f(x)=xg(x)=∑n≥1xn∑i=0n−1(in−1−i)。
展开方式二:
令
A
1
+
a
x
+
B
1
+
b
x
=
x
1
−
x
−
x
2
\frac{A}{1+ax}+\frac{B}{1+bx}=\frac{x}{1-x-x^2}
1+axA+1+bxB=1−x−x2x。解得:
{
a
=
1
+
5
2
b
=
1
−
5
2
A
=
1
5
B
=
−
1
5
\begin{cases}a=\frac{1+\sqrt 5}{2}\\b=\frac{1-\sqrt 5}{2}\\A=\frac{1}{\sqrt 5}\\B=-\frac{1}{\sqrt 5}\end{cases}
⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧a=21+5b=21−5A=51B=−51
展开求和得
x
1
−
x
−
x
2
=
∑
n
≥
0
x
n
1
5
(
(
1
+
5
2
)
n
−
(
1
−
5
2
)
n
)
\frac{x}{1-x-x^2}=\sum_{n\ge0}x^n\frac{1}{\sqrt 5}((\frac{1+\sqrt 5}{2})^n-(\frac{1-\sqrt 5}{2})^n)
1−x−x2x=∑n≥0xn51((21+5)n−(21−5)n).
卡特兰数的生成函数
卡特兰数为
a
0
=
1
,
a
n
=
∑
i
=
0
n
−
1
a
i
a
n
−
1
−
i
a_0=1,a_n=\sum_{i=0}^{n-1}a_ia_{n-1-i}
a0=1,an=∑i=0n−1aian−1−i。
其生成函数为
f
(
x
)
=
∑
n
≥
0
a
n
x
n
f(x)=\sum_{n\ge0}a_nx^n
f(x)=∑n≥0anxn
f
(
x
)
=
1
+
∑
n
≥
1
∑
i
=
0
n
−
1
(
a
i
x
i
)
(
a
n
−
1
−
i
x
n
−
1
−
i
)
x
f(x)=1+\sum_{n\ge1}\sum_{i=0}^{n-1}(a_ix^i)(a_{n-1-i}x^{n-1-i})x
f(x)=1+∑n≥1∑i=0n−1(aixi)(an−1−ixn−1−i)x
f
(
x
)
=
1
+
∑
n
≥
1
∑
i
=
0
n
−
1
f
(
i
)
f
(
n
−
1
−
i
)
x
f(x)=1+\sum_{n\ge1}\sum_{i=0}^{n-1}f(i)f(n-1-i)x
f(x)=1+∑n≥1∑i=0n−1f(i)f(n−1−i)x
f
(
x
)
=
1
+
x
∑
i
≥
0
f
(
i
)
∑
j
≥
0
f
(
j
)
=
1
+
x
f
2
(
x
)
f(x)=1+x\sum_{i\ge0}f(i)\sum_{j\ge0}f(j)=1+xf^2(x)
f(x)=1+x∑i≥0f(i)∑j≥0f(j)=1+xf2(x)
解得
f
(
x
)
=
1
±
1
−
4
x
2
x
=
2
1
±
1
−
4
x
f(x)=\frac{1\pm\sqrt{1-4x}}{2x}=\frac{2}{1\pm\sqrt{1-4x}}
f(x)=2x1±1−4x=1±1−4x2,
代入
x
=
0
x=0
x=0舍弃无理根得
f
(
x
)
=
1
−
1
−
4
x
2
x
f(x)=\frac{1-\sqrt{1-4x}}{2x}
f(x)=2x1−1−4x.
对于
1
−
4
x
=
(
1
−
4
x
)
1
2
\sqrt{1-4x}=(1-4x)^{\frac{1}{2}}
1−4x=(1−4x)21用牛顿二项式定理进行展开。
(
1
2
n
)
=
1
(
−
1
)
(
−
3
)
(
−
5
)
.
.
.
(
−
(
2
n
−
3
)
)
2
n
n
!
=
(
−
1
)
n
−
1
1
∗
3
∗
5
∗
.
.
.
∗
(
2
n
−
3
)
2
n
n
!
=
(
−
1
)
n
−
1
(
2
n
−
2
)
!
2
n
n
!
(
2
∗
4
∗
.
.
.
∗
(
2
n
−
2
)
=
(
−
1
)
n
−
1
(
2
n
−
2
)
!
2
2
n
−
1
n
!
(
n
−
2
)
!
(
n
−
1
)
=
(
2
n
−
2
n
−
2
)
(
−
1
)
n
−
1
2
2
n
−
1
(
n
−
1
)
{\frac{1}{2}\choose n}=\frac{1(-1)(-3)(-5)...(-(2n-3))}{2^nn!}=\frac{(-1)^{n-1}1*3*5*...*(2n-3)}{2^nn!}=\frac{(-1)^{n-1}(2n-2)!}{2^nn!(2*4*...*(2n-2)}=\frac{(-1)^{n-1}(2n-2)!}{2^{2n-1}n!(n-2)!(n-1)}={2n-2\choose n-2}\frac{(-1)^{n-1}}{2^{2n-1}(n-1)}
(n21)=2nn!1(−1)(−3)(−5)...(−(2n−3))=2nn!(−1)n−11∗3∗5∗...∗(2n−3)=2nn!(2∗4∗...∗(2n−2)(−1)n−1(2n−2)!=22n−1n!(n−2)!(n−1)(−1)n−1(2n−2)!=(n−22n−2)22n−1(n−1)(−1)n−1.
(
1
−
4
x
)
1
2
=
∑
n
≥
0
(
1
2
n
)
(
−
4
)
n
x
n
=
∑
n
≥
0
(
2
n
−
2
n
−
2
)
(
−
1
)
2
n
−
1
2
2
n
2
2
n
−
1
(
n
−
1
)
x
n
=
1
+
∑
n
≥
1
(
2
n
−
2
n
−
2
)
−
2
(
n
−
1
)
x
n
(1-4x)^{\frac{1}{2}}=\sum_{n\ge0}{\frac{1}{2}\choose n}(-4)^nx^n=\sum_{n\ge0}{2n-2\choose n-2}\frac{(-1)^{2n-1}2^{2n}}{2^{2n-1}(n-1)}x^n=1+\sum_{n\ge1}{2n-2\choose n-2}\frac{-2}{(n-1)}x^n
(1−4x)21=∑n≥0(n21)(−4)nxn=∑n≥0(n−22n−2)22n−1(n−1)(−1)2n−122nxn=1+∑n≥1(n−22n−2)(n−1)−2xn
1
−
1
−
4
x
2
x
=
∑
n
≥
1
(
2
n
−
2
n
−
2
)
(
n
−
1
)
x
n
−
1
=
∑
n
≥
0
(
2
n
n
−
1
)
n
x
n
=
∑
n
≥
0
(
2
n
n
)
n
+
1
x
n
\frac{1-\sqrt{1-4x}}{2x}=\sum_{n\ge1}\frac{{2n-2\choose n-2}}{(n-1)}x^{n-1}=\sum_{n\ge0}\frac{{2n\choose n-1}}{n}x^{n}=\sum_{n\ge0}\frac{{2n\choose n}}{n+1}x^{n}
2x1−1−4x=∑n≥1(n−1)(n−22n−2)xn−1=∑n≥0n(n−12n)xn=∑n≥0n+1(n2n)xn
参考资料:
https://oi-wiki.org/math/min-25/