zoukankan      html  css  js  c++  java
  • 生成函数

    生成函数

    先贴上两位大佬的博客: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个此类物品有几种方案?

  • 相关阅读:
    Java绘出pdf实现方法
    Java设置字体颜色
    猜测分箱算法
    获取图片存储到本地
    input(file)异步上传文件
    物流轨迹抓取
    bootstrap 模态框
    从数组中随机选择一个数
    spring cron表达式
    mabtis批量修改
  • 原文地址:https://www.cnblogs.com/MyNameIsPc/p/9605351.html
Copyright © 2011-2022 走看看