边学边写——母函数及其在中学数学竞赛中的运用(一)

母函数专题(一)概念部分

在2020年的CMO试题中出现了母函数的运用,先前数学竞赛中关于此方向的文章并不多,故笔者在此发表自己学习时的感想

基础概念

对于实数序列$ a_{0},a_{1},\dots ,a_{n},\dots $,他的生成函数为

\[G(x) = a_{0} + a_{1}x + a_{2}x^{2} + \dots + a_{n}x^{n} +\dots = \sum_{k=0}^{\infty}{a_{k}x^{k}} \]

比如

\[\frac{1}{1-x}=\sum_{k=0}^{1}{x^k} \]

(因为通过分析学可以得到在\(0<x<1\)上有上式成立,具体请参考数学分析类材料)
比较重要的有

\[\frac{1}{1-ax}=\sum_{k=0}^{\infty}{a^k x^k} \]

\[\frac{1}{1-x^r}=\sum_{k=0}^{\infty}{x^{rk}} \]

\[\frac{1}{(1-x)^n}=\sum_{k=0}^{\infty}{C^{k}_{n+k-1}x^k} \]

\[\frac{1}{(1+x)^n}=\sum_{k=0}^{\infty}{C^{k}_{n+k-1}(-1)^kx^k} \]

\[\frac{1}{(1-ax)^n}=\sum_{k=0}^{\infty}{C^{k}_{n+k-1}a^kx^k} \]

\[e^x=\sum^{\infty}_{k=0}{\frac{x^k}{k!}} \]

但是第一眼看到生成函数可能觉得这玩意没有啥用(笔者也是这么觉得的)
下面举例来说明生成函数最基本的用法

基础实例演示

计数原理

\(1\):求\(e_1+e_2+e_3=17\)的解的个数,其中\(2\leq e_1 \leq 5, 3\leq e_2 \leq 6, 4\leq e_3 \leq 7\)
解 具有上述限制的解的个数是

\[(x_2+x_3+x_4+x_5)(x_3+x_4+x_5+x_6)(x_4+x_5+x_6+x_7) \]

的展开式中\(x_1^7\)的系数(聪明的读者应该已经发现了重点)
原式实则是\(e_k\)是否能够取到某数的生成函数表达(取不到的项即为0)
通过这种方法,在展开之时便完成了计数的任务(计算量和正常计数差别不大,但是可以轻松的让电脑完成计算)(OIer狂喜)

根据递推关系求解数列通项公式

\(2\):已知数列\(\{a_n\}\)满足递推关系:\(a_k=3a_{k-1},k=1,2,\dots\),且满足初始条件\(a_0=2\),求解\(\{a_n\}\)通项公式.
解:不妨设\(\{a_n\}\)的生成函数为

\[G(x)=\sum_{k=0}^{\infty}{a_{k}x^{k}} \]

那么容易知晓

\[xG(x)=\sum_{k=0}^{\infty}{a_{k}x^{k+1}}=\sum_{k=1}^{\infty}{a_{k-1}x^{k}} \]

使用递推关系得知

\[\begin{aligned} G(x)-3xG(x)&=\sum_{k=0}^{\infty}{a_{k}x^{k}}-\sum_{k=1}^{\infty}{a_{k-1}x^{k}}\\ &= a_0 + \sum_{k=1}^{\infty}{(a_k-3a_{k-1})x^k}\\ &=2 \end{aligned}\]

所以

\[(1-3x)G(x)=2 \]

求解\(G(x)\),得到\(G(x)=\frac{2}{1-3x}\)
展开即得

\[G(x)=\sum^{\infty}_{k=0}{2*3^kx^k} \]

所以\(a_k=2*3^k\)

posted @ 2021-03-30 14:26  SaikyoDOROC  阅读(34)  评论(0编辑  收藏