zoukankan      html  css  js  c++  java
  • 组合数学习笔记

    基本都是抄的,只不过懒得到时候再去找而已,所以特地自己写一下,顺便加深理解

    https://blog.csdn.net/litble/article/details/75913032

    从$m$个数里取出$n$个数的方案数,记做$C_m ^n$,即为组合数

    通项公式

      $$C_m ^n=frac{m!}{n!*(m-n)!}$$

      从$m$个数里选出$n$个数,第一个位置有$m$种选法,第二个位置有$m-1$种选法……所以总共是$m*(m-1)*(m-2)...*(m-n+1)=frac {m!}{(m-n)!}$

      然而因为对顺序没有要求,所以假设取出了$n$个数,那么第一个位置有$n$种放法,第二个位置有$n-1$种放法...还要除以一个$n!$

      综上所述就是$C_m ^n=frac{m!}{n!*(m-n)!}$

    组合数递推公式

      $$C_m ^n=C_{m-1}^{n-1}+C_{m-1}^{n}$$

      从$m$个不同的数里取$n$个,如果第$n$个数取的话就是在剩下的数里取$n-1$个数,有$C_{m-1}^{n-1}$中取法,如果第$n$个数不取的话就是在剩下的数里取$n$个数,有$C_{m-1}^{n}$种取法

    性质1

      $$C_m^n=C_m^{m-n}$$

      从$m$个数里选$n$个数留下的方案和从$m$个数里选$m-n$个数丢掉的方案显然是一一对应的

    性质2

      $$C_{m+r+1}^r=sum _{i=0}^r C_{m+i}^i$$

      首先,$C_m^0=C_{m+1}^0=1$(啥都不选的方案数肯定是1)

      $C_m^0+C_{m+1}^1+C_{m+2}^2+...+C_{m+r}^r$

      $=C_{m+1}^0+C_{m+1}^1+C_{m+2}^2+...+C_{m+r}^r$

      $=C_{m+2}^1+C_{m+2}^2+...+C_{m+r}^r(根据递推公式)$

      $=C_{m+3}^2+...+C_{m+r}^r$

      $=C_{m+r+1}^r$

    性质3

      $$C_m^n*C_n^r=C_m^r*C_{m-r}^{n-r}$$

      用通项公式

      $C_m^n*C_n^r$

      $=frac{m!}{n!*(m-n)!}*frac{n!}{r!*(n-r)!}$

      $=frac{m!}{r!*(m-r)!}*frac{(m-r)!}{(m-n)!*(n-r)!}$

      $=C_m^r*C_{m-r}^{n-r}$

    性质4(二项式定理)

      $$sum_{i=0}^m C_m^i=2^m$$

      显然$C_m^i$代表一个$m$位二进制数有$i$个$0$的情况下的数量,那么这个和就是$m$位二进制数的数量了

      然后推广二项式定理$$sum _{i=0}^m C_m^i*x^i=(x+1)^m$$

      那么这个怎么证明嘞,我们可以考虑把$(x+1)^m$给变成$(x+1)*(x+1)...$的形式,然后考虑一下它展开后的多项式,比如说第$i$次方项,这$i$个$x$是从哪几个括号里取来的呢,很明显方案数是$C_m^i$,所以$x^i$的系数就是$C_m^i$

      然后继续推$$sum _{i=0}^m C_m^i*x^i*y^{m-i}=(x+y)^m$$

      这个实际上和上面差不多的证明方法,变形成$(x+y)*(x+y)...$的形式,每一个位置都选$x$或$y$,那么$x^i*y^{m-i}$的$i$个$x$是哪里来的呢,然后就如上

    性质5

      $$C_m^0-C_m^1+C_m^2-...pm C_m^m=0$$

      以上式子可以写成$sum _{i=0}^m C_m^i*(-1)^i$

      带进性质4,$sum _{i=0}^m C_m^i*(-1)^i*1^i=(-1+1)^m=0$

    性质6

      $$C_m^0+C_m^2+C_m^4+...=C_m^1+C_m^3+C_m^5+...=2^{n-1}$$

      根据性质5,把所有$i$为奇数的项移到右边,可证$C_m^0+C_m^2+C_m^4+...=C_m^1+C_m^3+C_m^5+...$

      然后又因为性质4的第一条,左右两边加起来等于$2^m$,所以两边都等于$2^{m-1}$

    性质7

     $$C_{m+n}^r=C_m^0*C_n^r+C_m^1*C_n^{r-1}+...+C_m^r*C_n^0$$

      很简单,考虑一下选出的$r$个物品在前$m$个里有多少个,在后$n$个数里有多少个就好了

      特别的$$C_{m+n}^n=C_m^0*C_n^0+C_m^1*C_n^1+...+C_m^n*C_n^n$$

      根据性质1以及性质7第一条

      $C_{m+n}^n=C_m^0*C_n^n+C_m^1*C_n^{n-1}+...+C_m^n*C_n^0$

      $=C_{m+n}^n=C_m^0*C_n^0+C_m^1*C_n^1+...+C_m^n*C_n^n$

    性质8

      $$n*C_m^n=m*C_{m-1}^{n-1}$$

      运用通项公式

      $n*C_m^n$

      $=n*frac{m!}{n!*(m-n)!}$

      $=frac{m!}{(n-1)!*(m-n)!}$

      $=m*frac{(m-1)!}{(n-1)!*(m-n)!}$

      $m*C_{m-1}^{n-1}$

    性质9

      $$sum_{i=1}^m C_m^i*i=m*2^{m-1}$$

      用通项公式

      $sum_{i=1}^m C_m^i*i$

      $=sum_{i=1}^m frac{m!}{(i-1)!*(m-i)!}$

      $=(sum_{i=1}^m frac{(m-1)!}{(i-1)!*(m-i)!})*m$

      $=(sum_{i=0}^{m-1} C_{m-1}^i)*m$

      然后看性质4

      $=m*2^{m-1}$

      ps:实际上上面也能写成$i=0$,因为$C_m^0*0=0$,对答案无影响

    性质10

      $$sum_{i=1}^m C_m^i*i^2=m*(m+1)*2^{m-2}$$

      用和上面差不多的方法得到

      $sum_{i=1}^m C_m^i*i^2$

      $=(sum_{i=0}^{m-1} C_{m-1}^i*(i+1))*m$

      $=(sum_{i=0}^{m-1} C_{m-1}^i*i+sum_{i=0}^{m-1} C_{m-1}^i)*m$

      然后用性质9和性质4

      $=(2^{m-2}*(m-1)+2^{m-1})*m$

      然后又因为$2^{m-1}=2*2^{m-2}$

      所以原式等于$=m*(m+1)*2^{m-2}$

    性质11

      $$sum_{i=0}^m (C_m^i)^2=C_{2m}^m$$

      枣树……考虑有两个$m$个数的集合,所有数都互不相同,从其中取$m$个数的方法是多少?是从$2m$个数里取$m$个数的方案数$C_{2m}^m$,也是从第一个数列取$i$个数,第二个数列里取$n-i$个数,然后根据乘法原理乘起来,又因为$C_m^i=C_m^{m-i}$,所以得到上述等式

    卢卡斯定理

      

      当$p$为素数时

      $$C_n^mequiv C_{n/p}^{m/p}*C_{n\%p}^{m\%p}(mod p)$$

      证明太长了,都够我单独水一篇博客的了->请移步这里

    总结

      累死我了……看原文居然发现一些错……然而我并没有CSDN的账号甚至不能去评论orz……

      据说组合数的性质可以用以下几种方法去推

      1.情景假设法

      2.隔板法

      3.通项公式法

      4.递归公式法

      然而我都不会

  • 相关阅读:
    动态ip发布web+绑定域名
    JQuery选择器大全
    mysql触发器
    jquery选择器
    PHP5新语法学习
    Jquery中$.ajax()方法参数详解(转)
    svn笔记
    lsof命令
    新环境常用工具
    不会转载
  • 原文地址:https://www.cnblogs.com/bztMinamoto/p/9520083.html
Copyright © 2011-2022 走看看