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}$$

  • 相关阅读:
    深度学习之神经网络的结构
    分圆问题:一个诡异的数列规律
    形象展示傅里叶变换
    最速降线问题
    ip address add 200.1.1.2/24 dev eth1
    Learn X in Y minutes Where X=c++
    sigsuspend
    tcp 代理的作用
    UNIX网络编程卷2进程间通信读书笔记(二)—管道 (1)
    UNIX网络编程卷2进程间通信读书笔记(一)—概述
  • 原文地址:https://www.cnblogs.com/zengpeichen/p/12119186.html
Copyright © 2011-2022 走看看