组合数##
【补】
非常的经典
(C_n^m),简写((_m^n)),表示从n个元素中无序地选出m个的方案数
【然后又一堆堆性质和计算方法】
计算方式就不赘述了,有很多种,各有优劣:
①n较小,直接计算,如果取模质数,再算个逆元
②(O(n^2))预处理,可以模任意数
③模数为质数,n,m较小,预处理阶乘以及阶乘逆元,(O(1))计算
④模数为质数,n,m较大,套用Lucas定理
⑤模数不为质数,若其最大质因子不大,可用扩展Lucas
⑥【与⑤结合】若模数为合数且n、m较小,(O(n))枚举质数进行阶乘质因子分解
性质
第二类斯特林数##
【补】
(S(n,m)),简写({ _m^n }),表示将n个有区别的元素划分到m个无区别的非空集合的方案数
计算方式:
(S(n,0) = 0)
(S(n,n) = 1)
(S(n,m) = m * S(n - 1,m) + S(n - 1,m - 1))
计算式子的由来类似于动归,考虑第n个元素,要么单独分到一个集合,要么放到之前m个集合中的一个
第一类斯特林数##
【补】
贝尔数##
【补】