数学板块学习之生成函数

生成函数即母函数,是组合数学计数方面的重要工具,有普通型和指数型两种。普通型用于解决多重集的组合问题,指数型用于解决多重集的排列问题。博客介绍了常见的普通型和指数型生成函数,还给出相关定理及应用示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

生成函数

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

参考博客:https://blog.youkuaiyun.com/wu_tongtong/article/details/78854572

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

1.1单下标序列生成函数

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

1.2双下标序列生成函数

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

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

2.1二项式系数

序列a(n,m)=(nm)=Cnm,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=0nCnkxn−kyk=(x+y)nA(x,y)=\displaystyle\sum_{k=0}^{n}C_n^kx^{n-k}y^{k}=(x+y)^nA(x,y)=k=0nCnkxnkyk=(x+y)n

2.2斐波那契数列

序列Fn=15⋅((1+52)n−(1−52)n)F_n=\cfrac{1}{\sqrt{5}}·\big((\cfrac{1+\sqrt{5}}{2})^n-(\cfrac{1-\sqrt{5}}{2})^n\big)Fn=51((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)=1F(0)=0,F(1)=1F(0)=0,F(1)=1
S(n)=F(1)+F(2)+⋯+F(n)=F(n+2)−1S(n)=F(1)+F(2)+\cdots+F(n)=F(n+2)-1S(n)=F(1)+F(2)++F(n)=F(n+2)1
当且仅当nnn能被3整除时,F(n)F(n)F(n)是偶数
其生成函数A(x)=∑n=0∞Fnxn=11−x−x2A(x)=\displaystyle\sum_{n=0}^{\infty}F_nx^n=\cfrac{1}{1-x-x^2}A(x)=n=0Fnxn=1xx21

2.3

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

3.定理

3.1.

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

例:用重量分别为1、2、4克的砝码各两个可以组成多少种不同的重量,每种重量的方案数分别为多少?
1克砝码(1+x+x2)(1+x+x^2)(1+x+x2) 1为不选,xxx为选一个,x2x^2x2为选两个
2克砝码(1+x2+x4)(1+x^2+x^4)(1+x2+x4) 1为不选,x2x^2x2为选一个,x4x^4x4为选两个
4克砝码(1+x4+x8)(1+x^4+x^8)(1+x4+x8) 1为不选,x4x^4x4为选一个,x8x^8x8为选两个
所以生成函数为A(x)=(1+x+x2)(1+x2+x4)(1+x4+x8)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+2x2+x3+3x4+2x5+4x6+4x7+4x8+⋯+x21A(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.

An(x)=1(1+x)(1+x+x2)⋯(1+x+x2+⋯+xn−1)=∏j=1n(1−xj)(1−x)nA_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∞anxnn!A(x)=\displaystyle\sum_{n=0}^{\infty}a_n\cfrac{x^n}{n!}A(x)=n=0ann!xn

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

5.1

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

5.2

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

5.3

序列an={1x=2k0x=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]xnn!=1+x22!+x44!+⋯=ex+e−x2A(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

序列an={0x=2k1x=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]xnn!=x1+x33!+⋯=ex−e−x2A(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 伯努利数

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

6.定理

SSS是多重集合{n1⋅a1,n2⋅a2⋯ ,ni⋅ai,⋯ }\{n_1·a_1,n_2·a_2\cdots,n_i·a_i,\cdots\}{n1a1,n2a2,niai,},第i种元素aia_iainin_ini个,nin_ini为非负数
hnh_nhn为S的n排列数,数列{h0,h1,⋯ ,hn⋯ }\{h_0,h_1,\cdots,h_n\cdots\}{h0,h1,,hn}的指数型生成函数为
A(x)=1(1+1x)(1+x1+x22!)⋯(1+x1+⋯+xkk!)⋯=∑i=0∞hixii!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
对式子展开后,每一个单项式形式为
xm1xm2⋯xmkm1!m2!⋯mk!=xm1+m2+⋯+mkm1!m2!⋯mk!\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=m1+m2+⋯+mkn=m_1+m_2+\cdots+m_kn=m1+m2++mk
所以上式又等于xnm1!m2!⋯mk!=n!xnm1!m2!⋯mk!n!=n!m1!m2!⋯mk!⋅xnn!\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
hn=∑n=m1+m2+⋯+mkn!m1!m2!⋯mk!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+x22!+x44!+⋯ )(1+x+x22!+⋯ )(1+x+x22!+⋯ )=ex+e−x2⋅ex⋅ex=e3x+ex2=12(∑n=0∞3nxnn!+∑n=0∞xnn!)=12∑n=0∞(3n+1)xnn!\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
故染色方法数hn=3n+12h_n=\cfrac{3^n+1}{2}hn=23n+1

例2:用1、2、3、4四个数字组成一个五位数,其中1出现两次或三次,2最多出现一次,4出现偶数次
A(x)=(x22!+x33!)(1+x)(1+x+x22!+⋯ )(1+x22!+x44!+⋯ )=(3x2+x36)(1+x)ex(ex+e−x2)=112(3x2+4x3+x4)(e2x+1)=112(3x2+4x3+x4)(∑n=0∞2nxnn!+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)
故组成方案数h5=112⋅5!(3⋅233!+4⋅222!+21)=140h_5=\cfrac{1}{12}·5!(3·\cfrac{2^3}{3!}+4·\cfrac{2^2}{2!}+\cfrac{2}{1})=140h5=1215!(33!23+42!22+12)=140

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值