组合基础2 第一类斯特林数 第二类斯特林数

版权声明:转载必须注明原文链接,并且每50字(半角,向上取整)就要注明一次,侵权必究 https://blog.csdn.net/myjs999/article/details/89436628

x n = x ( x + 1 ) ( x + 2 ) ( x + n 1 ) x^{\overline{n}}=x(x+1)(x+2)\cdots(x+n-1) x n = x ( x 1 ) ( x 2 ) ( x n + 1 ) x^{\underline{n}}=x(x-1)(x-2)\cdots(x-n+1)

第一类斯特林数

定义为 x n x^{\overline{n}} m m 次项系数,即 x n = i = 0 n [ n i ] x i x^{\overline{n}}=\sum_{i=0}^n\begin{bmatrix}n\\i\end{bmatrix}x^i 。组合意义为将 n n 个数分为 m m 个环的方案数。

可在 O ( n log n ) O(n\log n) 内求 [ n i ] \begin{bmatrix}n\\i\end{bmatrix}

第二类斯特林数

组合意义为将 n n 个数分为 m m 个无区别组的方案数。定义为 x n = i = 0 n { n i } x i x^n=\sum_{i=0}^n\begin{Bmatrix}n\\i\end{Bmatrix}x^{\underline{i}}

可以用容斥原理求斯特林数,枚举几个组为空即可。公式为 { n m } = 1 m ! i = 0 m ( 1 ) i ( m i ) ( m i ) n \begin{Bmatrix}n\\m\end{Bmatrix}=\frac{1}{m!}\sum_{i=0}^m(-1)^i\binom{m}{i}(m-i)^n

幂的转换

由各种方法可得:
x n = i = 0 n { n i } x i ( 1 ) n i x^n=\sum_{i=0}^n\begin{Bmatrix}n\\i\end{Bmatrix}x^{\overline{i}}(-1)^{n-i}
x n = i = 0 n [ n i ] x i ( 1 ) n i x^{\underline{n}}=\sum_{i=0}^n\begin{bmatrix}n\\i\end{bmatrix}x^i(-1)^{n-i}
以上两个定义式和两个幂的转换公式可简记为正降卷升,一归二歧(“正”指挨个乘)。

把两个式子拼起来可得斯特林反演。把一个式子带到另一个里去可得翻转公式

练习题

幂和

i = 1 n i k = i = 1 n j = 0 k { k j } i j = j = 0 k { k j } i = 1 n i j = j = 0 k { k j } j ! i = 1 n ( i j ) = j = 0 k { k j } j ! ( n + 1 j + 1 ) \begin{aligned} \sum_{i=1}^n i^k &=\sum_{i=1}^n\sum_{j=0}^k \begin{Bmatrix}k\\j\end{Bmatrix}i^{\underline j}\\ &=\sum_{j=0}^k\begin{Bmatrix}k\\j\end{Bmatrix}\sum_{i=1}^ni^{\underline j}\\ &=\sum_{j=0}^k\begin{Bmatrix}k\\j\end{Bmatrix}j!\sum_{i=1}^n{i\choose j}\\ &=\sum_{j=0}^k\begin{Bmatrix}k\\j\end{Bmatrix}j!{n+1\choose j+1}\\ \end{aligned}

*2018.12

猜你喜欢

转载自blog.csdn.net/myjs999/article/details/89436628