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

    普通型母函数##

    母函数就是一列用来展示一串数字的挂衣架。
    ——赫伯特·唯尔夫 [1] 。

    生成函数,又称母函数,是数学中,尤其是组合计数中重要的工具
    定义如下:

    对于任意数列{(a_n)},如果用如下函数联系起来:
    (G(x) = a_0 + a_1 x^1 + a_2 x^2 + a_3 x^3+......+a_n x^n)
    那么称(G(x))是数列{(a_n)}的生成函数

    普通型母函数的一般形式:(G(x) = sum_{i = 0}^{infty} a_ix^i)

    比较特别的
    数列(C_n^0,C_n^1,C_n^2,......,C_n^n)的生成函数为(G(x) = (1 + x) ^ n)【二项式定理】

    应用##

    这个函数有什么作用呢?
    最直观地说,可以用来组合计数

    比如,你有硬币1元,2元,3元各一枚,你想知道能凑出什么面额,以及方案数
    那么我们令(G(x) = (1 + x^1)(1 + x^2)(1 + x^3) = 1 + x^1 +x^2 + 2 * x^3 + x^4 + x^5 + x^6)
    你会发现,展开后每一项的指数代表面额,其对应系数就是方案数

    类似的,如果1元纸币有多枚,其括号内就可以写成((1+x^1+x^2+x^3+......+x^n)),分别表示1元硬币取0枚,1枚,2枚.......

    再比如说,掷一次骰子,有(1,2,3,4,5,6)共6中情况
    问掷n次的总和有哪些,各有多少种方案?
    那么可以构造生成函数:
    (G(x) = (x^1 + x^2 + x^3 + x^4 + x^5 + x^6)^n)
    显然展开后就能得到答案

    【更多的应用先留坑】

  • 相关阅读:
    Android-adb相关
    我想和iOS大牛们交流的问题
    iOS应用 bug定位
    iOS 中Block的基础用法
    iOS9 耗电量惊人
    三人小团队git分支协作试水
    今天开通了博客
    解决XCode安装插件后插件不能使用的问题(转载)
    (转载)iOS- 指压即达,如何集成iOS9里的3D Touch
    人魔七七
  • 原文地址:https://www.cnblogs.com/Mychael/p/8660385.html
Copyright © 2011-2022 走看看