组合数公式
组合数公式
组合数$\displaystyle C(n,m)=C_n^m=\binom{n} {m}$
递推式
组合数完全累和
奇偶累和
$\sum\cdots\sum \rightarrow C() $型
我们熟知的有
更一般的
$ … \ \cdot C(n,i)$型
$\displaystyle \sum i \cdot C(n,i) $
$\displaystyle = \sum {i \cdot \frac{n!} {i! \cdot (n-i)!} }$
$\displaystyle = \sum { \frac{n!} {(i-1)! \cdot (n-i)!} }$
$\displaystyle=\sum {n \cdot \frac {(n-1)!} {(i-1)! \cdot (n-i)!} }$
$\displaystyle=n\cdot \sum C(n-1,i-1)$
同理的
带入还能得到
更一般的,可以表示成
多组合数相乘型
$\displaystyle \sum_{i=0}^{k} C(n,i)\cdot C(m,k-i) = C(n+m,k)$
其实就是两个组合问题的组合,可以直接通过实际意义得到
Lucas定理
$ C(n,m) \mod p = C(n \mod p,m \mod p) \cdot C(\lfloor\frac{n} {p}\rfloor, \lfloor \frac{m} {p}\rfloor) \mod p$
预处理阶乘逆元后,可以用于解决模数较小而$n,m$较大的组合数问题
前缀和
列
$\displaystyle \sum_{i=0}^n \binom{i} {m}=\binom{n+1} {m+1}$
由递推式$\displaystyle \binom{i} {m}=\binom{i-1} {m}+\binom{i-1} {m-1}$容易迭代发现
行
令 $S(n,m)=\sum_{i=0}^{m} C(n,i)$
$S(n,m)+S(n,m+1)$
$=\sum_{i=0}^{m}(C(n,i)+C(n,i+1))+C(n,0)$
$=\sum C(n+1,i+1)+C(n,0)$ (带入递推公式)
$=S(n+1,m+1)$
又$\because S(n,m)+S(n,m+1)=2S(n,m+1)-C(n,m+1)$
$\therefore S(n,m)=2S(n-1,m)-C(n-1,m)$
(待补。。。)