组合数学-学习笔记

组合数学。这里只是一些浅显的学习笔记。

概念

基本

其实就是一个东西:有 \(n\)不同的物品,要选出 \(m\) 个,不在意顺序,问方案数。答案就是

\[C_n^m\\ =\frac{n!}{m!(n-m)!} \]

换一个问题:有 \(n\)不同的物品,要选出 \(m\) 个,在意顺序,问方案数。答案就是

\[A_n^m\\ =n\times (n-1)\times (n-2)\times ... \times(n-m+1)\\ =\frac{n!}{(n-m)!}\\ =n^{\underline m} \]

拓展

这个东西和杨辉三角有关。具体来说,下标从 \(1\) 开始,杨辉三角为 \(a\),则有:

\[a_{i,j}=C_{i-1}^{j-1} \]

求法

有几种。

  1. \(n,m\le 1e3\)

    换句话说,就是在 \(n^2\) 可以解决的问题。

    那就直接暴力算出杨辉三角就可以了。

  2. \(n,m\le 1e5\)

    预处理阶乘,套公式。

  3. 有时候模数比较小,就需要用到 Lucas 定理。

性质

  1. \(\sum_{j=0}^{i}C_i^j=2^i\) 。显然。
  2. \(C_i^0+C_i^2+C_i^4+...=C_i^1+C_i^3+C_i^5+...=2^{i-1}\)。证明其实很简单,对于一个杨辉三角,相当于是这一行奇偶分类,换成上一层就都变成上一层整一层相加,所以成立。
  3. \(C_i^j=C_{i-1}^{j}+C_{i-1}^{j-1}\)
posted @ 2022-03-14 21:27  编程客  阅读(42)  评论(0编辑  收藏  举报