组合数学-学习笔记
组合数学。这里只是一些浅显的学习笔记。
概念
基本
其实就是一个东西:有 \(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}
\]
求法
有几种。
-
\(n,m\le 1e3\)
换句话说,就是在 \(n^2\) 可以解决的问题。
那就直接暴力算出杨辉三角就可以了。
-
\(n,m\le 1e5\)
预处理阶乘,套公式。
-
有时候模数比较小,就需要用到 Lucas 定理。
性质
- \(\sum_{j=0}^{i}C_i^j=2^i\) 。显然。
- \(C_i^0+C_i^2+C_i^4+...=C_i^1+C_i^3+C_i^5+...=2^{i-1}\)。证明其实很简单,对于一个杨辉三角,相当于是这一行奇偶分类,换成上一层就都变成上一层整一层相加,所以成立。
- \(C_i^j=C_{i-1}^{j}+C_{i-1}^{j-1}\)。