数学杂项整理
这里是一个数学杂项(也就是太短暂时写不成博客)的整理。
质数
参见 陈卓裕质数三大公理 (Link is here) 。
在 $[1,n]$范围内,质数个数的数量级是 $\dfrac{n}{\log n}$ 的,
即, $\pi(n) \sim O(\dfrac{n}{\log n})$
(此处的$\log$指的是$\ln$)
组合计数
排列数
排列数,通常用 $A$ (Arrangement)来表示。
公式为:
$$
\begin{equation}
A^n_m = \frac{n!}{(n-m)!}
\end{equation}
$$
还有以下递推式:
$$
A_n^m = m \times A_{n-1}^{m-1} + A_{n-1}^m
$$
组合数
组合数,通常用 $C$ (Conbination)来表示。
常见的表示方法有$\binom{m}{n}$ 和 $C^n_m$ 两种。
我这里用的是后者。
(据说这个是苏联写法,已经在机房里面成为梗了)
公式为:
$$
\begin{equation}
C^n_m = \frac{A^n_m}{A^n_n} = \frac{n!}{(n-m)!m!}
\end{equation}
$$
还有以下递推式:
$$
C_n^m = C_{n-1}^{m-1} + C_{n-1}^m
$$
快速计算组合数
1 | int C(int n, int m) |
常见组合恒等式
- $\displaystyle C_n^m = C_n^{n-m}$
因为
$$
C_n^m = \frac{n!}{(n-m)!m!} = \frac{n!}{(n-(n-m))!(n-m)!} = C_n^{n-m}
$$
- $\displaystyle m \times C_n^m = n \times C_{n-1}^{m-1}$
因为
$$
m \times C_n^m = \frac{n!}{(n-m)!(m-1)!} = n \times \frac{(n-1)!}{(n-m)!(m-1)!} = n \times C_{n-1}^{m-1}
$$
- $\displaystyle \sum_{i=0}^n C_n^i = 2^n$
就类似于考虑每一个物品到底是选还是不选。
- $\displaystyle C_n^0 + C_n^2 + \cdots = C_n^1 + C_n^3 + \cdots = 2^{n-1} (n \geq 1)$
跟上面的那个差不多。
- $\displaystyle \sum_{i=0}^n (-1)^i C_n^i = C_n^0 - C_n^1 + C_n^2 - C_n^3 + \cdots = [ n==0 ]$
上面那个的衍生。
- $\displaystyle \sum_{i=0}^k C_n^i \times C_m^{k-i} = C_{n+m}^k$
考虑将 $n+m$ 的一堆物品分为一堆 $n$ 的和一堆 $m$ 的,分别从两堆里面取。
然后分别考虑从两堆里面各挑出来几个物品。
- $\displaystyle \sum_{i=0}^n (C_n^i)^2 = C_{2n}^n$
上面的那个的特殊化。
因为 $C_n^i = C_n^{n-i}$,所以我们可以将其替换为这样的形式。
上升幂与下降幂
上升幂
$$
x^{\bar{k}} = \prod_{i=i}^k (x+i-1)
$$
下降幂
$$
x^{\underline{k}} = \prod_{i=1}^k (x-i+1)
$$