排列和组合

({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})

求组合数

  1. 递推
  2. 质数模,预处理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!})

原文地址:https://www.cnblogs.com/hh--boke/p/15408873.html