数学板块学习之生成函数

生成函数

生成函数即母函数,是组合数学中尤其是计数方面的一个重要理论和工具。
生成函数有普通型生成函数和指数型生成函数两种,其中普通型用的比较多。形式上说,普通型生成函数用于解决多重集的组合问题,而指数型母函数用于解决多重集的排列问题。
生成函数的应用简单来说在于研究未知(通项)数列规律,用这种方法在给出递推式的情况下求出数列的通项,生成函数是推导Fibonacci数列的通项公式方法之一,另外组合数学中的Catalan数也可以通过生成函数的方法得到 ——百度百科

参考博客:https://blog.csdn.net/wu_tongtong/article/details/78854572

1.普通型生成函数(多重集的组合问题)

1.1单下标序列生成函数

A ( x ) = ∑ n = 0 ∞ a n x n A(x)=\displaystyle\sum_{n=0}^{\infty}a_nx^n A(x)=n=0anxn

1.2双下标序列生成函数

A ( x 1 , x 2 ) = ∑ n = 0 ∞ a ( n , m ) x 1 n x 2 m A(x_1,x_2)=\displaystyle\sum_{n=0}^{\infty}a_{(n,m)}x_1^nx_2^m A(x1,x2)=n=0a(n,m)x1nx2m

2.常见的普通型生成函数

2.1二项式系数

序列 a ( n , m ) = ( n m ) = C n m , m ∈ [ 0 , n ] a_{(n,m)}= \binom{n}{m}=C_n^m,m\in[0,n] a(n,m)=(mn)=Cnm,m[0,n]
其生成函数 A ( x , y ) = ∑ k = 0 n C n k x n − k y k = ( x + y ) n A(x,y)=\displaystyle\sum_{k=0}^{n}C_n^kx^{n-k}y^{k}=(x+y)^n A(x,y)=k=0nCnkxnkyk=(x+y)n

2.2斐波那契数列

序列 F n = 1 5 ⋅ ( ( 1 + 5 2 ) n − ( 1 − 5 2 ) n ) F_n=\cfrac{1}{\sqrt{5}}·\big((\cfrac{1+\sqrt{5}}{2})^n-(\cfrac{1-\sqrt{5}}{2})^n\big) Fn=5 1((21+5 )n(215 )n)
或者表示为
F ( n ) = F ( n − 1 ) + F ( n ) F(n)=F(n-1)+F(n) F(n)=F(n1)+F(n)
F ( 0 ) = 0 , F ( 1 ) = 1 F(0)=0,F(1)=1 F(0)=0,F(1)=1
S ( n ) = F ( 1 ) + F ( 2 ) + ⋯ + F ( n ) = F ( n + 2 ) − 1 S(n)=F(1)+F(2)+\cdots+F(n)=F(n+2)-1 S(n)=F(1)+F(2)++F(n)=F(n+2)1
当且仅当 n n n能被3整除时, F ( n ) F(n) F(n)是偶数
其生成函数 A ( x ) = ∑ n = 0 ∞ F n x n = 1 1 − x − x 2 A(x)=\displaystyle\sum_{n=0}^{\infty}F_nx^n=\cfrac{1}{1-x-x^2} A(x)=n=0Fnxn=1xx21

2.3

序列 a n = 1 a_n=1 an=1
其生成函数 A ( x ) = ∑ n = 0 ∞ a n x n = 1 1 − x A(x)=\displaystyle\sum_{n=0}^{\infty}a_nx^n=\cfrac{1}{1-x} A(x)=n=0anxn=1x1
显然序列 b n = n b_n=n bn=n
其生成函数 B ( x ) = A ′ ( x ) = ∑ n = 0 ∞ b n x n = ( 1 1 − x ) 2 B(x)=A'(x)=\displaystyle\sum_{n=0}^{\infty}b_nx^n=(\cfrac{1}{1-x})^2 B(x)=A(x)=n=0bnxn=(1x1)2
并可以往下递推 A ′ ′ ( x ) , A ′ ′ ′ ( x ) ⋯ A''(x),A'''(x)\cdots A(x),A(x)

3.定理

3.1.

设从n元集合 S = { M 1 a 1 , M 2 a 2 , M 3 a 3 , ⋯   , M n a n } S=\{M_1a_1,M_2a_2,M_3a_3,\cdots,M_na_n\} S={M1a1,M2a2,M3a3,,Mnan}中取出k个元素组成新的序列 b k b_k bk,第i个元素 a i a_i ai M i M_i Mi
新序列 b k b_k bk的生成函数为 ∏ i = 0 n ( ∑ m ∈ M i x m ) \displaystyle\prod_{i=0}^{n}\big(\sum_{m\in M_i}^{}x^m\big) i=0n(mMixm)

例:用重量分别为1、2、4克的砝码各两个可以组成多少种不同的重量,每种重量的方案数分别为多少?
1克砝码 ( 1 + x + x 2 ) (1+x+x^2) (1+x+x2) 1为不选, x x x为选一个, x 2 x^2 x2为选两个
2克砝码 ( 1 + x 2 + x 4 ) (1+x^2+x^4) (1+x2+x4) 1为不选, x 2 x^2 x2为选一个, x 4 x^4 x4为选两个
4克砝码 ( 1 + x 4 + x 8 ) (1+x^4+x^8) (1+x4+x8) 1为不选, x 4 x^4 x4为选一个, x 8 x^8 x8为选两个
所以生成函数为 A ( x ) = ( 1 + x + x 2 ) ( 1 + x 2 + x 4 ) ( 1 + x 4 + x 8 ) A(x)=(1+x+x^2)(1+x^2+x^4)(1+x^4+x^8) A(x)=(1+x+x2)(1+x2+x4)(1+x4+x8)
展开为 A ( x ) = 1 + x + 2 x 2 + x 3 + 3 x 4 + 2 x 5 + 4 x 6 + 4 x 7 + 4 x 8 + ⋯ + x 21 A(x)=1+x+2x^2+x^3+3x^4+2x^5+4x^6+4x^7+4x^8+\cdots+x^{21} A(x)=1+x+2x2+x3+3x4+2x5+4x6+4x7+4x8++x21
不难发现指数为砝码组成的重量,系数为方案数

3.2.

A n ( x ) = 1 ( 1 + x ) ( 1 + x + x 2 ) ⋯ ( 1 + x + x 2 + ⋯ + x n − 1 ) = ∏ j = 1 n ( 1 − x j ) ( 1 − x ) n A_n(x)=1(1+x)(1+x+x^2)\cdots(1+x+x^2+\cdots+x^{n-1})=\cfrac{\displaystyle\prod_{j=1}^{n}(1-x^j)}{(1-x)^n} An(x)=1(1+x)(1+x+x2)(1+x+x2++xn1)=(1x)nj=1n(1xj)

4.指数型生成函数(多重集的排列问题)

A ( x ) = ∑ n = 0 ∞ a n x n n ! A(x)=\displaystyle\sum_{n=0}^{\infty}a_n\cfrac{x^n}{n!} A(x)=n=0ann!xn

5.常见的指数型生成函数

5.1

序列 a n = 1 a_n=1 an=1
其生成函数 A ( x ) = ∑ n = 0 ∞ x n n ! = e x A(x)=\displaystyle\sum_{n=0}^{\infty}\cfrac{x^n}{n!}=e^x A(x)=n=0n!xn=ex

5.2

序列 a n = p n a_n=p^n an=pn
其生成函数 A ( x ) = ∑ n = 0 ∞ p n x n n ! = e p n A(x)=\displaystyle\sum_{n=0}^{\infty}p^n\cfrac{x^n}{n!}=e^{pn} A(x)=n=0pnn!xn=epn

5.3

序列 a n = { 1 x=2k 0 x=2k+1 ( k ∈ N ) a_n=\begin{cases}1&\text{x=2k}\\ 0&\text{x=2k+1}\end{cases}(k\in N) an={10x=2kx=2k+1(kN)
其生成函数 A ( x ) = ∑ n = 0 ∞ [ n % 2 = 0 ] x n n ! = 1 + x 2 2 ! + x 4 4 ! + ⋯ = e x + e − x 2 A(x)=\displaystyle\sum_{n=0}^{\infty}[n\%2=0]\cfrac{x^n}{n!}=1+\cfrac{x^2}{2!}+\cfrac{x^4}{4!}+\cdots=\cfrac{e^x+e^{-x}}{2} A(x)=n=0[n%2=0]n!xn=1+2!x2+4!x4+=2ex+ex

5.4

序列 a n = { 0 x=2k 1 x=2k+1 ( k ∈ N ) a_n=\begin{cases}0&\text{x=2k}\\ 1&\text{x=2k+1}\end{cases}(k\in N) an={01x=2kx=2k+1(kN)
其生成函数 A ( x ) = ∑ n = 0 ∞ [ n % 2 = 1 ] x n n ! = x 1 + x 3 3 ! + ⋯ = e x − e − x 2 A(x)=\displaystyle\sum_{n=0}^{\infty}[n\%2=1]\cfrac{x^n}{n!}=\cfrac{x}{1}+\cfrac{x^3}{3!}+\cdots=\cfrac{e^x-e^{-x}}{2} A(x)=n=0[n%2=1]n!xn=1x+3!x3+=2exex

5.5 伯努利数

序列 b i b_i bi是伯努利数
其生成函数 B ( x ) = ∑ i = 0 b i x i i ! = x e x − 1 B(x)=\displaystyle\sum_{i=0}b_i\cfrac{x^i}{i!}=\cfrac{x}{e^x-1} B(x)=i=0bii!xi=ex1x

6.定理

S S S是多重集合 { n 1 ⋅ a 1 , n 2 ⋅ a 2 ⋯   , n i ⋅ a i , ⋯   } \{n_1·a_1,n_2·a_2\cdots,n_i·a_i,\cdots\} {n1a1,n2a2,niai,},第i种元素 a i a_i ai n i n_i ni个, n i n_i ni为非负数
h n h_n hn为S的n排列数,数列 { h 0 , h 1 , ⋯   , h n ⋯   } \{h_0,h_1,\cdots,h_n\cdots\} {h0,h1,,hn}的指数型生成函数为
A ( x ) = 1 ( 1 + 1 x ) ( 1 + x 1 + x 2 2 ! ) ⋯ ( 1 + x 1 + ⋯ + x k k ! ) ⋯ = ∑ i = 0 ∞ h i x i i ! A(x)=1(1+\cfrac{1}{x})(1+\cfrac{x}{1}+\cfrac{x^2}{2!})\cdots(1+\cfrac{x}{1}+\cdots+\cfrac{x^k}{k!})\cdots=\displaystyle\sum_{i=0}^{\infty}h_i\cfrac{x^i}{i!} A(x)=1(1+x1)(1+1x+2!x2)(1+1x++k!xk)=i=0hii!xi
对式子展开后,每一个单项式形式为
x m 1 x m 2 ⋯ x m k m 1 ! m 2 ! ⋯ m k ! = x m 1 + m 2 + ⋯ + m k m 1 ! m 2 ! ⋯ m k ! \cfrac{x^{m_1}x^{m_2}\cdots x^{m_k}}{m_1!m_2!\cdots m_k!}=\cfrac{x^{m_1+m_2+\cdots+m_k}}{m_1!m_2!\cdots m_k!} m1!m2!mk!xm1xm2xmk=m1!m2!mk!xm1+m2++mk
我们设 n = m 1 + m 2 + ⋯ + m k n=m_1+m_2+\cdots+m_k n=m1+m2++mk
所以上式又等于 x n m 1 ! m 2 ! ⋯ m k ! = n ! x n m 1 ! m 2 ! ⋯ m k ! n ! = n ! m 1 ! m 2 ! ⋯ m k ! ⋅ x n n ! \cfrac{x^n}{m_1!m_2!\cdots m_k!}=\cfrac{n!x^n}{m_1!m_2!\cdots m_k!n!}=\cfrac{n!}{m_1!m_2!\cdots m_k!}·\cfrac{x^n}{n!} m1!m2!mk!xn=m1!m2!mk!n!n!xn=m1!m2!mk!n!n!xn
h n = ∑ n = m 1 + m 2 + ⋯ + m k n ! m 1 ! m 2 ! ⋯ m k ! h_n=\displaystyle\sum_{n=m_1+m_2+\cdots+m_k}\cfrac{n!}{m_1!m_2!\cdots m_k!} hn=n=m1+m2++mkm1!m2!mk!n!

例1:用红白蓝三种颜色染色一个1×n的格子,其中红色要求染色偶数次,求染色方法数
A ( x ) = ( 1 + x 2 2 ! + x 4 4 ! + ⋯   ) ( 1 + x + x 2 2 ! + ⋯   ) ( 1 + x + x 2 2 ! + ⋯   ) = e x + e − x 2 ⋅ e x ⋅ e x = e 3 x + e x 2 = 1 2 ( ∑ n = 0 ∞ 3 n x n n ! + ∑ n = 0 ∞ x n n ! ) = 1 2 ∑ n = 0 ∞ ( 3 n + 1 ) x n n ! \begin{aligned}A(x)&=(1+\cfrac{x^2}{2!}+\cfrac{x^4}{4!}+\cdots)(1+x+\cfrac{x^2}{2!}+\cdots)(1+x+\cfrac{x^2}{2!}+\cdots)\\ &=\cfrac{e^x+e^{-x}}{2}·e^x·e^x\\ &=\cfrac{e^{3x}+e^x}{2}\\ &=\cfrac{1}{2}(\sum_{n=0}^{\infty}3^n\cfrac{x^n}{n!}+\sum_{n=0}^{\infty}\cfrac{x^n}{n!})\\ &=\cfrac{1}{2}\sum_{n=0}^{\infty}(3^n+1)\cfrac{x^n}{n!} \end{aligned} A(x)=(1+2!x2+4!x4+)(1+x+2!x2+)(1+x+2!x2+)=2ex+exexex=2e3x+ex=21(n=03nn!xn+n=0n!xn)=21n=0(3n+1)n!xn
故染色方法数 h n = 3 n + 1 2 h_n=\cfrac{3^n+1}{2} hn=23n+1

例2:用1、2、3、4四个数字组成一个五位数,其中1出现两次或三次,2最多出现一次,4出现偶数次
A ( x ) = ( x 2 2 ! + x 3 3 ! ) ( 1 + x ) ( 1 + x + x 2 2 ! + ⋯   ) ( 1 + x 2 2 ! + x 4 4 ! + ⋯   ) = ( 3 x 2 + x 3 6 ) ( 1 + x ) e x ( e x + e − x 2 ) = 1 12 ( 3 x 2 + 4 x 3 + x 4 ) ( e 2 x + 1 ) = 1 12 ( 3 x 2 + 4 x 3 + x 4 ) ( ∑ n = 0 ∞ 2 n x n n ! + 1 ) \begin{aligned}A(x)&=(\cfrac{x^2}{2!}+\cfrac{x^3}{3!})(1+x)(1+x+\cfrac{x^2}{2!}+\cdots)(1+\cfrac{x^2}{2!}+\cfrac{x^4}{4!}+\cdots)\\ &=(\cfrac{3x^2+x^3}{6})(1+x)e^x(\cfrac{e^x+e^{-x}}{2})\\ &=\cfrac{1}{12}(3x^2+4x^3+x^4)(e^{2x}+1)\\ &=\cfrac{1}{12}(3x^2+4x^3+x^4)(\sum_{n=0}^{\infty}2^n\cfrac{x^n}{n!}+1)\\ \end{aligned} A(x)=(2!x2+3!x3)(1+x)(1+x+2!x2+)(1+2!x2+4!x4+)=(63x2+x3)(1+x)ex(2ex+ex)=121(3x2+4x3+x4)(e2x+1)=121(3x2+4x3+x4)(n=02nn!xn+1)
故组成方案数 h 5 = 1 12 ⋅ 5 ! ( 3 ⋅ 2 3 3 ! + 4 ⋅ 2 2 2 ! + 2 1 ) = 140 h_5=\cfrac{1}{12}·5!(3·\cfrac{2^3}{3!}+4·\cfrac{2^2}{2!}+\cfrac{2}{1})=140 h5=1215!(33!23+42!22+12)=140

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值