一些组合数学

组合数##

【补】
非常的经典
\(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个集合中的一个

第一类斯特林数##

【补】

贝尔数##

【补】

posted @ 2018-03-28 22:57  Mychael  阅读(270)  评论(0编辑  收藏  举报