生成函数

生成函数

先贴上两位大佬的博客:https://www.cnblogs.com/RabbitHu/p/9178645.html,https://www.cnblogs.com/moomcake/p/9385828.html

它们可以解答两个问题:生成函数里的x有什么用——没什么用,去掉也行。用生成函数的好处在哪里——把组合问题的法则和幂级数的乘幂对应起来。

加法法则的定义:设事件A有m种产生方式,事件B有n种产生方式,则事件A或B之一有m+n种产生方式。

乘法法则的定义:做一件事,完成它需要分成n个步骤,做第一 步有m1种不同的方法,做第二步有m2种不同的方法,……,做第n步有mn种不同的方法。那么完成这件事共有 N=m1×m2×m3×…×mn 种不同的方法。

让我们来举个栗子:现在有1g,2g,3g三种砝码,得到mg质量的方案数是多少呢?显然,我们要在1g,2g和3g的砝码中都挑出若干个,如果它们的质量组合起来正好是mg,意味着得到mg质量的方案数+1。

考虑构造三个函数。1g砝码对应的函数是\(f_1(x)=1+x+x^2+\dots\),表示用1g砝码得到某个质量只有一个方案。同理,\(f_2(x)=1+x^2+x^4+\dots,f_3(x)=1+x^3+x^6+\dots\)。那么,\(f_1f_2f_3\)就表示用1g,2g,3g砝码得到某个质量的方案数。

我们可以这样来看两个生成函数A和B相乘得到C:对于C的第i项,组成它的方案数就是组成A的第0项的方案数*组成B的第i项的方案数+组成A的第1项的方案数*组成B的第i-1项的方案数……以此类推。这里就体现了组合问题的那两个法则。

通常第i项表示选i个此类物品有几种方案?

转载于:https://www.cnblogs.com/MyNameIsPc/p/9605351.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值