({n choose m}=frac{n!}{(n-m)!m!})
({n choose m}={n-1 choose m-1}+{n-1 choose m})
取n ({n-1 choose m-1})
不取n ({n-1 choose m})
({n choose m}=frac{n}{m} {n-1 choose m-1}=frac{n-m+1}{m} {n choose m-1})
求组合数
- 递推
- 质数模,预处理n!的逆元来直接求
求不定方程(x_1+x_2+···+x_k=n)的解的数量,(x_i)为整数,且(x_igeq 1),
插板法({n-1 choose k-1})
若(x_igeq a_i)
设(y_i=x_i-a_i+1geq 1)
则(y_1+y_2+···+y_k=x_1+x_2+···+x_k+k-sum_{i=1}^{k}a_i=n+k-sum_{i=1}^{k}a_i)用插板法即可
答案为({n+k-1-sum_{i=1}^{k}a_i choose k-1})
若求(x_1+x_2+···+x_k=n)的非负整数解(x_igeq0)
则(ans={n+k-1 choose k-1})
若(x_1+x_2+···+x_kleq n)
则令(x_1+x_2+···+x_k+z=n(zgeq 0)),用上述方法即可求
多重全排列
求r1个1,r2个2,…,rt个t的排列数
设(l=r_1+r_2+···+r_t)
(ans={l choose r_1}{l-r_1 choose r_2}{l-r_1-r_2 choose r_3}····{l-r_1-r_2-···-r_t choose r_t}=frac{l!}{r_1!r_2!···r_t!})