排列数
(A^m_n=n(n-1)(n-2) cdot cdot cdot(n-m+1) =frac{n!}{(n-m)!})
组合数
(C^m_n=C^m_{n-1}+C^{m-1}_{n-1})
(C^m_n=C^{n-m}_{n})
(C^m_n=frac{n}{m}×C^{m-1}_{n-1})
(C^m_k×C^k_n=C^m_n×C^{n-k}_{n-m}(n-k<n-m))
(displaystylesum_{i=1}^n C^i_n = 2^n)
(displaystylesum_{i=0}^n (-1)^i×C^i_n=0)
((a+b)^n = displaystylesum_{i=0}^n C^i_na^{n-i}b^i)(二项式定理)
(C^m_n=frac{A^m_n}{m!}=frac{n!}{m!(n-m)!}=fac_n×invf_m×invf_{n-m})
阶乘预处理,逆元用费马小定理计算
(Lucas)定理
(C^m_n=C^{m mod p}_{n mod p}×C^{m/p}_{n/p})
其中(p)为质数
(code :)
ll C(ll n,ll m)
{
return n<m?0:((f[n]*qp(f[m],mod-2)%mod)*qp(f[n-m],mod-2))%mod;
}
ll lucas(ll n,ll m)
{
return m?(C(n%mod,m%mod)*lucas(n/mod,m/mod))%mod:1;
}
错排
(D_n=(n-1)(D_{n-1}+D_{n-2}))
(Catalan)数
(1, 1, 2, 5, 14, 42, 132, 429, 1430......)
(f(n)=sumlimits_{i=0}^{n-1}f(i)f(n-1-i)=C_{2n}^n - C_{2n}^{n + 1} = frac{C_{2n}^n}{n + 1} = frac{C_{2n}^{n + 1}}{n})
(n imes n)⽹格,只能向上向右⾛,不能⾛到对⾓线上⽅,从((0,0))⾛到((n,n))的
⽅案数
(n)个元素的进出栈序列种类数
(2n)⻓度的正确匹配的括号序列数
(n)个节点的⼆叉树数⽬
(n+1)条边的凸多边形三⾓剖分的数⽬
(Stirling)数
第⼀类斯特林数(s(n,m)):(n)个不同的物体,分成(m)个非空循环排列(圆排列)的⽅案数
(s(n,m)=(n-1) imes s(n-1,m) + s(n-1,m-1))
第⼆类斯特林数(S(n,m)):(n)个不同的物体,分成(m)份的⽅案数,每份没有编号
(S(n,m)=m imes S(n-1,m)+S(n-1,m-1))