第二類斯特靈數學習筆記

簡單的介紹一下吧,斯特靈數其實有不少好玩的性質和擴展的。優化

定義

\(S(n, m)\)表示把\(n\)不一樣的球放到\(m\)個相同的盒子裏,且不容許盒子爲空的方案數spa

\(S\)爲第二類斯特靈數class

計算方法

遞推:

考慮第\(n\)個球放到了哪裏擴展

第一種狀況是本身佔一個盒子,方案爲\(S(n - 1, m - 1)\)方法

第二種狀況是和以前的元素共佔\(m\)個盒子,方案爲\(S(n - 1, m) * m\),最後的係數是考慮放在不一樣位置。di

這裏咱們認爲{1}{2 4}{3}與{1}{2}{3 4}是不一樣的方案display

而{1}{2 4}{3}與{1}{3}{2 4}是相同的方案math

綜上枚舉

\(S(n, m) = S(n - 1, m - 1) + S(n - 1, m) * m\)play

邊界條件\(S(0, 0) = 1\)

容斥

\(S(n, m) = \frac{1}{m!} \sum_{k = 0}^m (-1)^k C(m, k) (m - k)^n\)

也比較好理解,咱們去枚舉一個空盒子的個數

答案 = 無視空盒子放的方案 - 至少有一個盒子爲空的方案 + 至少有兩個盒子爲空的方案 + \(\dots\)

顯然,這個式子能夠用FFT優化,所以咱們能夠在\(O(nlogn)\)的複雜度內獲得一行的斯特靈數

性質

  1. \[n^k=\sum_ { i=0}^k S(k,i)×i!×C_{n}^i\]

  2. \(S(n, 2) = 2^{n - 1} - 1\)

相關文章
相關標籤/搜索