[学习笔记]母函数

本文探讨了母函数的概念,包括定义、闭形式及基础操作,并通过三个实例——wyx旅游问题、求偶数个5的十进制数个数、遗忘的集合问题——深入阐述了母函数在解决实际问题中的应用。

母函数的性质

1、定义

母函数是用于对应一个无穷序列的幂级数,一般来说母函数有形式:
G(x)=g0+g1x+g2+x2+...=∑i=0∞gixiG(x)=g_0+g_1x+g_2+x^2+...=\sum_{i=0}^\infty g_ix^iG(x)=g0+g1x+g2+x2+...=i=0gixi=<g0,g1,g2......>=<g_0,g_1,g_2......>=<g0,g1,g2......>2、闭形式

举一个例子,有一个生成函数是 <1,1,1...><1,1,1...><1,1,1...>,我们尝试对它求和:
<1,1,1...>=1−x∞1−x=11−x<1,1,1...>=\frac{1-x^{\infty}}{1-x}=\frac{1}{1-x}<1,1,1...>=1x1x=1x1最后一步是因为在x∈(0,1)x\in(0,1)x(0,1)时,x∞x^\inftyx趋近于000,那我们就可以得到一个简洁的表达方法,这就是闭形式

3、基础操作

  • 放缩,即 <cg0,cg1,cg2....>=cG(x)<cg_0,cg_1,cg_2....>=cG(x)<cg0,cg1,cg2....>=cG(x)
  • 加减法,即 <f0±g0,f1±g1,f2±g2....>=F(x)±G(x)<f_0\pm g_0,f_1\pm g_1,f_2\pm g_2....>=F(x)\pm G(x)<f0±g0,f1±g1,f2±g2....>=F(x)±G(x)
  • 求导,举一个例子,对于 G(x)=1+x+x2....=11−xG(x)=1+x+x^2....=\frac{1}{1-x}G(x)=1+x+x2....=1x1求导,G′(x)=1+2x+3x2...=1(1−x)2G'(x)=1+2x+3x^2...=\frac{1}{(1-x)^2}G(x)=1+2x+3x2...=(1x)21,这里利用到了对母函数求导等价于对它的闭形式求导。
  • 卷积,类比多项式的卷积,这个操作广泛运用于组合数学。

应用

[例一] wyx旅游

题目描述

小明出门旅游,需要带一些食物,包括薯片,巧克力,矿泉水,汉堡,牛奶和糖果。经过估计,他觉得带 n≤10100n\leq 10^{100}n10100 件食物比较合适,但他还有一些癖好,问方案数:

  • 最多带1个汉堡
  • 巧克力的块数是5的倍数
  • 最多带4瓶矿泉水
  • 薯片的包数是一个偶数
  • 最多带3罐牛奶
  • 糖果的个数是4的倍数

解法

尝试把这些限制写成母函数的形式:

  • 汉堡,h(x)=1+xh(x)=1+xh(x)=1+x
  • 巧克力,c(x)=1+x5+x10......=11−x5c(x)=1+x^5+x^{10}......=\frac{1}{1-x^5}c(x)=1+x5+x10......=1x51
  • 矿泉水,p(x)=1+x+x2+x3+x4=1−x51−xp(x)=1+x+x^2+x^3+x^4=\frac{1-x^5}{1-x}p(x)=1+x+x2+x3+x4=1x1x5
  • 薯片,w(x)=1+x2+x4......=11−x2w(x)=1+x^2+x^4......=\frac{1}{1-x^2}w(x)=1+x2+x4......=1x21
  • 牛奶,m(x)=1+x1+x2+x3=1−x41−xm(x)=1+x^1+x^2+x^3=\frac{1-x^4}{1-x}m(x)=1+x1+x2+x3=1x1x4
  • 糖果,s(x)=1+x4+x8....=11−x4s(x)=1+x^4+x^8....=\frac{1}{1-x^4}s(x)=1+x4+x8....=1x41

把这些多项式乘起来:
1(1−x)3=<1,C32,C42......>\frac{1}{(1-x)^3}=<1,C_3^2,C_4^2......>(1x)31=<1,C32,C42......>上式的得出本质上是用插板法解决的不定方程解的个数,所以答案就是Cn+22=n(n+1)/2C_{n+2}^2=n(n+1)/2Cn+22=n(n+1)/2

[例二] 无名

nnn位十进制正数中出现偶数个555的数的个数。

兄弟们,我们先来搞个dpdpdp,设a[i]a[i]a[i]为偶数个555iii位十进制数,b[i]b[i]b[i]为奇数个555iii位十进制数:
ai=9ai−1+bi−1a_i=9a_{i-1}+b_{i-1}ai=9ai1+bi1bi=9bi−1+ai−1b_i=9b_{i-1}+a_{i-1}bi=9bi1+ai1兄弟们,我们把它写成母函数的形式:
A(x)=∑i=0+∞ai+1xiA(x)=\sum_{i=0}^{+\infty}a_{i+1}x^iA(x)=i=0+ai+1xiB(x)=∑i=0+∞bi+1xiB(x)=\sum_{i=0}^{+\infty}b_{i+1}x^iB(x)=i=0+bi+1xi兄弟们,我们优化的目的就是换一种简洁的表示出母函数(进而得到系数),观察转移方程,我们尝试消掉一些东西。

A(x)A(x)A(x)乘以−9x-9x9xB(x)B(x)B(x)乘以−x-xx,然后我们把这两个和A(x)A(x)A(x)等号两边相加(自己算),就能得到:
(1−9x)A(x)−xB(x)=a1=8(1-9x)A(x)-xB(x)=a_1=8(19x)A(x)xB(x)=a1=8同理:
(1−9x)B(x)−xA(x)=b1=1(1-9x)B(x)-xA(x)=b_1=1(19x)B(x)xA(x)=b1=1然后解一个方程就可以得到:
A(x)=−71x+8(1−8x)(1−10x),B(x)=1−x(1−8x)(1−10x)A(x)=\frac{-71x+8}{(1-8x)(1-10x)},B(x)=\frac{1-x}{(1-8x)(1-10x)}A(x)=(18x)(110x)71x+8,B(x)=(18x)(110x)1x要把A(x)A(x)A(x)再转化成无穷级数的形式,需要把它拆成两部分,用初中的待定系数法:
A(x)=(7(1−8x)+91−10x)/2A(x)=(\frac{7}{(1-8x)}+\frac{9}{1-10x})/2A(x)=((18x)7+110x9)/2这里需要把闭形式转化成无穷级数,可以类比最简单的形式(∑xi=11−x\sum x^i=\frac{1}{1-x}xi=1x1),就可以得到:
2A(x)=∑i=0+∞7×(8x)i+∑i=0+∞9×(10x)i2A(x)=\sum_{i=0}^{+\infty}7\times (8x)^i+\sum_{i=0}^{+\infty}9\times (10x)^i2A(x)=i=0+7×(8x)i+i=0+9×(10x)i系数(答案)就不难知道了:
an=(7×8n−1)/2+(9×10n−1)/2a_n=(7\times 8^{n-1})/2+(9\times 10^{n-1})/2an=(7×8n1)/2+(9×10n1)/2

[例三] 遗忘的集合

https://blog.youkuaiyun.com/C202044zxy/article/details/103714435

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值