關於斯特林數


第一類斯特林數

定義

$S_1(n,m)$表示$n$個元素,形成$m$個環的方案數,記作$\begin{bmatrix}n\\m\end{bmatrix}$。

其中每個元素是不同的,每個環是相同的。

 

遞推公式

從實際含義上去考慮,第一類斯特林數遞推公式為:

$\begin{bmatrix}n\\m\end{bmatrix}=\begin{bmatrix}n-1\\m-1\end{bmatrix}+(n-1)*\begin{bmatrix}n-1\\m\end{bmatrix}$

分別對應形成新的環,方案數即$\begin{bmatrix}n-1\\m-1\end{bmatrix}$。

接在原來的一個環中一個元素的后面,方案數即$(n-1)*\begin{bmatrix}n-1\\m\end{bmatrix}$

 

一些簡單性質

1.第一類斯特林數第$n$行的和為$n!$,即

$\sum \limits_{i=0}^n\begin{bmatrix}n\\i\end{bmatrix}=n!$

考慮$n!$,表示$n$個元素的排列。建立$i \rightarrow p_i$的置換,顯然會形成若干個環。

這與第一類斯特林數在第$n$行的的一種方案是一一對應的。

 

2.第一類斯特林數的一個用途是用通常冪表示上升冪,有

$x^{\overline n}=\sum \limits_{i=0}^n \begin{bmatrix}n\\i\end{bmatrix}x^i$

證明可以通過數學歸納法。

當$n=0$,原式$x^{\overline 0}=1=x^0$顯然成立。

$x^{\overline n}=\sum \limits_{i=0}^n \begin{bmatrix}n\\i\end{bmatrix}x^i$

設原式在$n$時成立,只要證原式在$n+1$時也成立。

左右同乘$x+n$可得,$x^{\overline n+1}=x^{\overline n}*(x+n)$

$=\sum \limits_{i=0}^n \begin{bmatrix}n\\i\end{bmatrix}x^i*(x+n)$

$=\sum \limits_{i=0}^{n+1} \begin{bmatrix}n+1\\i\end{bmatrix}x^i$

 

3.對於通常冪,顯然有$x^n=(-x)^n*(-1)^n$

對於下降冪和上升冪,同樣有

$x^{\overline n}=(-x)^{\underline n}*(-1)^n$

$x^{\underline n}=(-x)^{\overline n}*(-1)^n$

將該式代入$x^{\overline n}=\sum \limits_{i=0}^n \begin{bmatrix}n\\i\end{bmatrix}x^i$

整理可得用通常冪表示下降冪的式子

$x^{\underline n}=\sum \limits_{i=0}^n \begin{bmatrix}n\\i\end{bmatrix}(-1)^{n-i}x^i$

 

求法

對於同一行第一類斯特林數的求解,可以直接利用第二個性質。

對$x^{\overline n}$做分治$fft$即可。

這個做法的復雜度是$O(nlog^2n)$的,可以用一些做法優化到一個log,待補。

 

 

 

第二類斯特林數

定義

$S_2(n,m)$表示$n$個元素,形成$m$個集合的方案數,記作$\begin{Bmatrix}n\\m\end{Bmatrix}$。

其中每個元素是不同的,每個集合是相同的。

 

遞推公式

從實際含義上去考慮,第二類斯特林數遞推公式為:

$\begin{Bmatrix}n\\m\end{Bmatrix}=\begin{Bmatrix}n-1\\m-1\end{Bmatrix}+m*\begin{Bmatrix}n-1\\m\end{Bmatrix}$

分別對應形成新的集合,方案數即$\begin{Bmatrix}n-1\\m-1\end{Bmatrix}$。

加入任意一個已有的集合,方案數即$m*\begin{Bmatrix}n-1\\m\end{Bmatrix}$

 

一些簡單性質

1.第二類斯特林數的一個用途是用下降冪表示通常冪,有

$x^n=\sum \limits_{i=0}^n \begin{Bmatrix}n\\i\end{Bmatrix}x^{\underline i}$

證明(1) 通過數學歸納法,與第一類斯特林數的證明類似,這里略過。

證明(2) 考慮$x^n$的實際含義,將$n$個不同元素放入$x$個不同集合中。

有$x^n=\sum_{i=0}^n\begin{Bmatrix}n\\i\end{Bmatrix}\binom{x}{i} i!$

因為第二類斯特林數中的集合是無差別的,所以最后應當乘上$i!$。

整理上式可得要證的式子,實際上這個含有組合數的公式也是有時候要化成的形式。

 

2.同樣代入負數形式,可得用上升冪表示通常冪的形式,即

$x^n=\sum \limits_{i=0}^n \begin{Bmatrix}n\\i\end{Bmatrix}(-1)^{n-i}x^{\overline i}$。

 

 

求法

單點求解第二類斯特林數存在一種$O(n)$的容斥方法。

設共有n個不同元素,為了方便,設共有m個不同集合。

設$g_x$表示恰好$x$個集合為空的方案數。

設$f_x$表示欽定$x$個集合為空的方案數,有

$f_x=\binom{m}{x}(m-x)^n$

$f_x=\sum \limits_{i=x}^{m}\binom{i}{x}g_i$

由二項式反演得

$g_x=\sum \limits_{i=x}^{m}(-1)^{i-x}\binom{i}{x}f_i$。

代入$x=0$,可得

$\begin{Bmatrix}n\\m\end{Bmatrix}=\frac{1}{m!}*\sum \limits_{i=0}^{m}(-1)^i\binom{m}{i}(m-i)^n$

拆一拆就發現這個玩意是個卷積式,所以求同一行第二類斯特林數可以做到$O(nlogn)$。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM