生成函数(母函数)总结
普通型生成函数(OGF)
定义
对于一个序列(a_0,a_1,a_2,a_3...),定义(G(x)=a_0+a_1x^1+a_2x^2+a_3x^3+...)为序列的母函数。
然后。。。没了???没了。
应用
一些常见的生成函数((nin N^+)):
(frac {1}{1-x}=1+x+x^2+x^3+...)
(frac {1}{(1-x)^2}=frac {1}{1-x}*frac {1}{1-x}=1+2x+3x^2+...)
(frac {1}{(1-x)^n}=1+nx+frac {n(n+1)}{2!}x^2+frac {n(n+1)(n+2)}{3!}x^3+...)
一个定理
据说是母函数最重要的定理:
设从(n)元集合(S=lbrace a_1,a_2...a_n brace)中取出(k)个元素的组合是(b_k),
若限定元素(a_i)出现次数集合为(M_i(1leq ileq n)),
则该组合数序列的母函数为
可以看出,它解决的主要是组合问题
(Eg1)
斐波那契数列通项。
(Sol:)
设斐波那契数列的母函数为
乘一个(x)
两个东西减一下:
发现上面的东西:
(ecause)
( herefore)
再利用展开式(frac {1}{1-x}=1+x+x^2+x^3+...)
可得(G(x)=b_1x+b_2x^2+...)
解得
又(a_n=b_n),所以我们就求出来了。
是不是感觉很麻烦呢?了解一下这种方法
无缝植入
(Eg2)
求(n)位十进制数中出现偶数个(5)的数的个数。
(Sol:)
设(f_i)表示(i)位十进制数中出现偶数个(5)的数的个数,
(g_i)表示(i)位十进制数中出现奇数个(5)的数的个数。
则有
设序列(lbrace f_i
brace),(lbrace g_i
brace)的生成函数分别为:
(F(x)=f_1+f_2x+...+f_nx^n+... ag1)
(G(x)=g_1+g_2x+...+g_nx^n+... ag2)
然后:
((1))两边同乘(-9x):
(-9xF(x)=-9f_1x-9f_2x^2-9f_3x^3+... ag3)
((2))两边同乘(-x):
(-xG(x)=-g_1x-g_2x^2-g_3x^3... ag4)
((1)+(3)+(4):)
(Leftrightarrow(1-9x)F(x)-xG(x)=8 ag5)
同理,设((6)=(2)*(-9x)),((7)=(1)*(-x))
则((6)+(7)+(2))得:
由((5))、((8)):
又
综上
指数型母函数(EGF)
定义
指数型母函数由一下定理来描述:
从多重集合(M=lbraceinfty*a_1,infty*a_2,infty*a_3...infty*a_n brace)中选出(k)个元素的排列中,
若限定(a_i)出现次数为(M_i(1leq ileq n)),则该组合数序列的母函数为:
我们发现,普通型母函数标志函数为(1,x,x^2...),而指数型母函数标志函数为(1,frac {x}{1!},frac {x^2}{2!}...)
它的意义是什么呢?
相当于我们在计算排列总数时一个元素(a_i)出现了多次,而实际上我们只能算进去一次,所以除去(i!)
这个玩意儿的使用过程中,会碰到奇怪的(e^x)及泰勒展开式:
(e^x=sum_{n=0}^{infty}frac {x^n}{n!}=1+x+frac{x^2}{2!}+frac{x^3}{3!}+...+frac{x^n}{n!}+...)
(e^{-x}=sum_{n=0}^{infty}(-1)^nfrac {x^n}{n!}=1-x+frac{x^2}{2!}-frac{x^3}{3!}+...+(-1)^nfrac{x^n}{n!}+...)
(frac {e^x+e^{-x}}2=sum_{n=0}^{infty}frac {x^{2n}}{2n!}=1+frac {x^2}{2!}+frac{x^4}{4!}+frac{x^6}{6!}+...+frac{x^{2n}}{2n!}+...)
(frac {e^x-e^{-x}}2=sum_{n=0}^{infty}frac {x^{2n+1}}{(2n+1)!}=1+frac {x^3}{3!}+frac{x^5}{5!}+frac{x^7}{7!}+...+frac{x^{2n+1}}{(2n+1)!}+...)
指数型母函数应化简成如下形式:
这里只有(b_i)是我们需要的。
为什么?看栗子。
应用
(Eg1)
有三个数字(1),两个数字(6),一个数字(8),问能组成多少个四位数。
(Sol:)
实际上是多重集排列数问题,显然多重集(S=lbrace3x_1,2x_2,1x_3 brace)
构造指数型生成函数:
( herefore Ans=38)
(Eg2)
求有(1,2,3,4)构成,且(1)出现(2-3)次,(2)最多出现(1)次,(4)出现偶数次的五位数。
(Sol:)
四个数分别对应的母函数:
- (I:) (frac {x^2}{2!}+frac {x^3}{3!})
- (II:) (1+frac {x}{1!})
- (III:) (1+frac {x}{1!}+frac {x^2}{2!}+frac {x^3}{3!}+...)
- (IIII:) (1+frac {x^2}{2!}+frac {x^4}{4!}+frac {x^6}{6!}+...)
所以有:
最后展开(e^{2x}),再配一下系数得出:
(Ans=frac {1}{12}*5!*(3*frac {2^3}{3!}+4*frac {2^2}{2!}+1*frac {2^1}{1!})=140)
(Eg3)
求由(1,3,5,7,9)构成的(n)位数的个数,要求(3,7)出现次数为偶数。
(Sol:)
设满足条件的(i)位数为(a_i),
则序列({a_i})的母函数(G_e(x))
( herefore a_n=frac 14(5^n+2*3^n+1))