zoukankan      html  css  js  c++  java
  • 组合初解、分析组合数、组合恒等式(世界上最垃圾的组合数学1)(坑)

    前言

    组合数,一个令人头大的东西

    参考资料

    组合数:https://www.luogu.com.cn/blog/chengni5673/dang-xiao-qiu-yu-shang-he-zi

    定义

    (n!=1*2*3*...*n)
    ([p])仅当条件(p)成立时此式子的值为(1),否则为(0)
    有标号的东西:简单来说就是东西之间存在不同,比如(1,2)(2,1)是两个不同的排列,而(aa)(aa)则是两个相同的排列。
    (ar{A})表示(A)的补集。
    (S)表示全集。

    组合数初解

    代数意义

    什么是组合数?

    比如说有(n)个不同的人,问你他们不同的排列数,你一下子就说(n!)啊。

    毕竟第一个位置有(n)个选择,第二个位置有(n-1)个选择,第三个(n-2)个选择以此类推。

    那么如果从中抽(m)个人并进行排列呢?

    第一个位置(n)种选择,到第(m)个位置停止,那不就是(frac{n!}{(n-m)!})

    但是,如果只是问你从(n)个人中随便选(m)个人的方案是多少,你就一下子懵了。

    但是你想想看,同(m)个人,他们能组成的排列数是(m!)种,那么我们用(frac{n!}{(n-m)!})(m!)不就可以得到结果了吗?

    也就是(frac{n!}{(n-m)!m!})

    具体的,从(n)个人中选(m)个的方案数的数学符号为(C_{n}^m),或者为(inom{n}{m}),从(n)个人中选(m)个人出来排列为(A_{n}^m)

    (C_{n}^m=frac{n!}{(n-m)!m!},A_{n}^m=frac{n!}{(n-m)!})

    图形意义

    你知道杨辉三角形吗?

    是的,就是下面这坨东西:
    在这里插入图片描述
    每个数字都等于上面两个数字的和,图中给出了两个例子:(2=1+1,6=3+3),特别的,每行的最左边和最右边都是(1),实际上,第(i)行第(j)个数字就是(C_{i-1}^{j-1})

    具体的证明可以看简单恒等式中的第3条

    二项式意义

    如果要说组合数最NB的意义,就是这个意义了。

    ((a+1)^k=sumlimits_{i=0}^kC_{k}^ia^i(k∈N_{+}))

    所以(C_{k}^i)就是(a_{i})的系数。

    简单恒等式

    是的,这里的恒等式非常的简单。

    注:一下证明都是在假定左边的式子有意义的情况下予以证明,如果(C_{n}^i(i>n或者i<0)),那么值为(0)

    1. (C_{n}^i=C_{n}^{n-i})
      证明:(C_{n}^i=frac{n!}{(n-i)!i!}=frac{n!}{i!(n-i)!}=C_{n}^{n-i})
    2. (C_{n}^i=frac{n}{i}C_{n-1}^{i-1})
      证明:(C_{n}^i=frac{n!}{i!(n-i)!}=frac{n}{i}frac{(n-1)!}{(i-1)!(n-i)!}=frac{n}{i}C_{n-1}^{i-1})
    3. (C_{n}^i=C_{n-1}^{i-1}+C_{n-1}^i(n>0))
      如果(n=i)或者(i=0),显然成立,然后开始代数证明(从右边的式子推到左边):
      (frac{(n-1)!}{(i-1)!(n-i)!}+frac{(n-1)!}{i!(n-i-1)!}=frac{i}{n}frac{n!}{i!(n-i)!}+frac{n}{n-i}frac{n!}{i!(n-i)!}=C_{n}^i)
      当然,这也就证明了上面杨辉三角形代表的组合意义。
    4. (sumlimits_{i=0}^n(-1)^iC_{n}^i=[n=0])
      这个用杨辉三角形非常的好证明,对于第(n(n>0))行,奇数位置为蓝色,偶数位置为红色,然后全部向上一行指过去,上一行每个数字都被一个红色和一个蓝色指到,刚好相消,只有当(n=0)时,该式子的值为(1)
      在这里插入图片描述
    5. (sumlimits_{i=0}^nC_{n}^i=2^n)
      这个我只能从组合意义去证明,对于(n)个硬币,(2^n)就表示不同的硬币朝上的情况,如果设(k)个硬币朝上的方案其实就是(C_{n}^k)
    6. (C_{n}^iC_{i}^m=C_{n}^mC_{n-m}^{n-i})
      证明:(frac{n!}{i!(n-i)!}*frac{i!}{m!(i-m)!}=frac{n!}{(n-m)!(n-i)!}*frac{(n-m)!}{m!(i-m)!}=frac{n!}{(n-m)!m!}*frac{(n-m)!}{(n-i)!(i-m)!}=C_{n}^m*C_{n-m}^{n-i})

    分析组合数

    参考:https://www.luogu.com.cn/blog/chengni5673/dang-xiao-qiu-yu-shang-he-zi

    这里主要就是如何分析出这个用什么组合数,当然,这也是组合数中最难的部分,这里只讲一个初等的方法,至于超级大佬的方法,需要自己去积累了。

    容斥原理

    (|A|)表示这个集合中的元素个数。

    两个集合的容斥:(|A∪B|=|A|+|B|-|A∩B|)

    对于多个集合的容斥:

    (A_1,A_2,A_3,A_4,...)

    (S_{k})(k)(A)集合的交集

    (|A_1∪A_2∪A_3∪A_4.....∪A_n|=sumlimits_{j=1}^n(-1)^{j-1}sumlimits_{1≤i_1<i_2<...<i_j≤n}|A_{i_1}∩A_{i_2}|)

    证明的话也是灰常的简单:
    一个元素被(k)个集合包含,那么其会被统计多少次呢?
    就是:(C_{k}^1-C_{k}^2+.....+(-1)^{k-1}C_{k}^k=0+C_{k}^0=1)

    当然,容斥原理也有其余形式:

    (|ar{A_1}∩ar{A_2}∩ar{A_3}...∩ar{A_n}|=|S|-|A_1∪A_2∪A_3...∪A_n|)

    证明:

    (overline{A_{1}∪A_{2}∪A_{2}∪...∪A_n}=overline{A_1}∩overline{A_2}∩overline{A_3}...∩overline{A_n})

    换一下,证毕。

    当然,还有一个奇怪的式子:

    (overline{A_{1}∩A_{2}∩A_{2}∩...∩A_n}=overline{A_1}∪overline{A_2}∪overline{A_3}...∪overline{A_n})

    证明:

    你只需要把(A)全部取补代入(overline{A_{1}∪A_{2}∪A_{2}∪...∪A_n}=overline{A_1}∩overline{A_2}∩overline{A_3}...∩overline{A_n}),然后左右取补集即可。

    插板法

    插板法,顾名思义:插板

    举个例子:

    假设现在有(n)个小球,没有编号,但是又有(m)个有标号的框,问有多少种放球方法,不允许一个框没有球。

    那么我们可以把小球排成一排,然后在球与球的空隙之间插板,第一个板左边是第一个框,第一个板到第二板就是第二个框,以此类推,只需要插(m-1)个板即可。

    也就是:(C_{n-1}^{m-1})

    在这里插入图片描述
    那这个方法有什么用呢?在分析组合数时会比较直观,比较方便,当然也要运用合理,否则就会闹不小的笑话。

    那如果是允许框是空的呢?

    非常simple的方法就是给每个框都放上一个球,这样就跟上面的题一摸一样啦。

    捆绑法

    其实就是把物体当成一个整体,用参考资料中的一个例子:

    例子:有 8本不同的书;其中数学书 3本,外语书 2本,其它学科书 3本.若将这些书排成一列放在书架上,求数学书和外语书都放在一起的方案数

    把 3本数学书“捆绑”在一起看成一个整体, 2本外语书也“捆绑”在一起看成一个整体,与其它 3本书一起看作 5个元素,然后就可以求了

    本源出发

    有时候想组合数要从组合出发,直接考虑方案,这样有时候会好搞很多,尤其是容斥判重以及理解时也十分需要这种思想,掌握了方法,也不要忘记根本啊。

    补齐恒等式如果没有意义时证明是否成立
    增加较难的组合数

  • 相关阅读:
    HTML5 WebAudioAPI-实例(二)
    HTML5 WebAudioAPI简介(一)
    HTML5 <Audio/>标签Api整理(二)
    HTML5 <Audio>标签API整理(一)
    CSS3 box-sizing 属性
    CSS3新增Hsl、Hsla、Rgba色彩模式以及透明属性(转)
    CSS3 颜色值HSL表示方式&简单实例
    C#使用Process类调用外部程序(转)
    乐视手机查看运行内存方法、EUI(Eco User Interface)乐视系统查看手机运行内存方法
    HTML5媒体播放说明
  • 原文地址:https://www.cnblogs.com/zhangjianjunab/p/14355022.html
Copyright © 2011-2022 走看看