zoukankan      html  css  js  c++  java
  • 关于组合数

    定义

      $largeinom nk$ :$n$ 个不同物品选取其中 $k$ 个物品的不同方案数,也可以写成 $C_n^k$。

    组合数的阶乘形式

      如果要知道求组合数的公式,那么要从排列数说起。

      排列数:从 $n$ 个不同物品中有顺序地选出 $k$ 个物品,那么不同方案数为:

    $$prod_{i=n-k+1}^n i$$

      写成阶乘的形式:

    $$frac{n!}{(n-k)!}$$

      这很好理解,就是先从 $n$ 个物品中挑选出一个物品,再从剩余 $n-1$ 个物品再挑选另一个,……,最后在所剩的 $n-k+1$ 个物品中再挑一个物品,利用乘法原理可以求出如上方案数。

      组合数与排列数的差异在于,组合数的选取方案是没有顺序的,所以组合数的计算方式就是排列数除以挑选 $k$ 个物品的不同排列个数 $k!$。

      所以组合数可以和阶乘展开式互相转换:

    $$inom nk = frac{n!}{k!;(n-k)!}$$

    组合数恒等式

      $$1.;inom nk = inom{n}{n-k}$$

      这个恒等式可以这样理解:你有 $n$ 个物品要丢掉 $k$ 个,等同于在 $n$ 个物品中留下 $n-k$ 个的方案数。

      $$2.;inom n k = inom {n-1}k + inom{n - 1}{k - 1}$$

      计算过程如下:
      

    egin{aligned}
    inom nk &= frac{n!}{k!(n-k)!}\
    \
    &=frac{ncdot(n-1)!}{k! (n-k)!}\
    \
    &=frac{(n-k)cdot(n-1)!}{k!(n-k)!}+frac{k cdot (n-1)!}{k! (n-k)!} \
    \
    &= frac{(n-1)!}{k! (n-k-1)!}+frac{(n-1)!}{(k-1)! (n-k)!}\
    \
    &= inom {n-1}{k}+ inom {n-1}{k-1}
    \
    end{aligned}

    $$3.;inom n k = frac{n}{k} inom{n-1}{k-1}$$

  • 相关阅读:

    创建分区表
    提示 适配器错误
    新手-ios
    web中绝对路径换虚拟路径
    UpdatePanel1里面使用FileUpload控件
    批量将一个表数据导入到另外一个表里面(不同服务器也可以)
    oracle 定时 job
    修改oracle字符集
    Oracle定时备份数据库
  • 原文地址:https://www.cnblogs.com/zengpeichen/p/12119186.html
Copyright © 2011-2022 走看看