第二類斯特靈數學習筆記
簡單的介紹一下吧,斯特靈數其實有很多好玩的性質和擴充套件的。
定義
設\(S(n, m)\)表示把\(n\)個不同的球放到\(m\)個相同的盒子裡,且不允許盒子為空的方案數
稱\(S\)為第二類斯特靈數
計算方法
遞推:
考慮第\(n\)個球放到了哪裡
第一種情況是自己佔一個盒子,方案為\(S(n - 1, m - 1)\)
第二種情況是和之前的元素共佔\(m\)個盒子,方案為\(S(n - 1, m) * m\),最後的係數是考慮放在不同位置。
這裡我們認為{1}{2 4}{3}與{1}{2}{3 4}是不同的方案
而{1}{2 4}{3}與{1}{3}{2 4}是相同的方案
綜上
\(S(n, m) = S(n - 1, m - 1) + S(n - 1, m) * m\)
邊界條件\(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)\)的複雜度內得到一行的斯特靈數
性質
\[n^k=\sum_ { i=0}^k S(k,i)×i!×C_{n}^i\]
\(S(n, 2) = 2^{n - 1} - 1\)
相關推薦
第二類斯特靈數學習筆記
簡單的介紹一下吧,斯特靈數其實有很多好玩的性質和擴充套件的。 定義 設\(S(n, m)\)表示把\(n\)個不同的球放到\(m\)個相同的盒子裡,且不允許盒子為空的方案數 稱\(S\)為第二類斯特靈數 計算方法 遞推: 考慮第\(n\)個球放到了哪裡 第一種情況是自己佔一個盒子,方案為\(S(n - 1,
第一類&第二類斯特林數學習筆記
第一類斯特林數 p p p個不同人圍著
UVA 10844 - Bloques (第二類斯特靈數)
pro 壓縮 i++ ring styles () sub comm show UVA 10844 - Bloques 題目鏈接 題意:給定n
學習筆記第十六節:第一類,第二類斯特林數和Bell數(坑)
正題 百度:“ 在組合數學,Stirling數可指兩類數,第一類Stirling數和第二類Stirling數,都是由18世紀數學家James Stirling提出的。
第一和第二類斯特林數的學習
排列 using ron amp urn ons 生成函數 時間 www 最近在學第一類和第二類斯特林數。這裏記錄一下學習的知識點/模板還有題目。 https://blog.csdn.net/litble/article/details/80882581 https:/
Gym Gym 101147G 第二類斯特林數
event for cnblogs color ide hide col problem pan 題目鏈接:http://codeforces.com/gym/101147/problem/G 題意:n個人,去參加k個遊戲,k個遊戲必須非空,有多少種放法? 分析: 第二
HDU4045-第二類斯特林數
clu math cnblogs mat tin ring tdi [0 ios 題意 有n臺機器,每天選擇r臺,要求任意兩臺編號差值不小於k,並且r臺機器分成不超過m組。求不重樣的選擇有多少種組合(可以選多少天)。 數據範圍$1\leqslant n,r,k,m\leqs
HDOJ 3625 第一類斯特靈數
als col ble ini php ios oid 允許 std 鏈接: http://acm.split.hdu.edu.cn/showproblem.php?pid=3625 題意: 有N個房間,每個房間裏有一把鑰匙,鑰匙隨機分配。如果手中有對應的鑰匙,就可以
hdu 2643 rank 第二類斯特林數
ini using cout cin type log ios cnblogs sum 題意:給定n個人,要求這n個人的所有可能排名情況,可以多個人並列(這個是關鍵)。 題解:由於存在並列的問題,那麽對於n個人,我們最多有n個排名,枚舉一下1~n,累加一下就好。(註意這裏是
新疆大學(新大)OJ xju 1006: 比賽排名 第二類斯特林數+階乘
bds 思路 jpg stat cin idt line main enter 題目鏈接:http://139.129.36.234/JudgeOnline/problem.php?id=1006 第二類斯特林數: 第二類Stirling數實際上是集合的一個拆分,表示將
【模板】第二類斯特林數Stirling
pre ble 出發 ati val span 兩種 定義 技術 第二類Stirling數實際上是集合的一個拆分,表示將n個不同的元素拆分成m個集合的方案數,記為 或者 。 第二類Stirling數的推導和第一類Stirling數類似,可以從定義出發考慮第n+1個元
Codeforces Round #100 E. New Year Garland (第二類斯特林數+dp)
using 情況 inline 顏色不同 force jai 相同 其中 problem 題目鏈接: http://codeforces.com/problemset/problem/140/E 題意: 聖誕樹上掛彩球,要求從上到下掛\(n\)層彩球。已知有\(m\)種顏色
關於第二類斯特林數的一丟丟東西
mat 得到 表示 重新 是我 isp logs spl gpo 關於第二類斯特林數的一丟丟東西 第二類斯特林數 S(n,m)表示有\(n\)個有區別小球,要放進\(m\)個相同盒子裏,且每個盒子非空的方案數 考慮一個很容易的遞推: \[S(n,m)=S(n-1,m-1)+
【BZOJ4555】求和(第二類斯特林數,組合數學,NTT)
name can efi fin def mes %d str ostream 【BZOJ4555】求和(第二類斯特林數,組合數學,NTT) 題面 BZOJ 題解 推推柿子 \[\sum_{i=0}^n\sum_{j=0}^iS(i,j)·j!·2^j\] \[=\sum_
【BZOJ5093】圖的價值(第二類斯特林數,組合數學,NTT)
ble math n) .cn fin eve 都是 max online 【BZOJ5093】圖的價值(第二類斯特林數,組合數學,NTT) 題面 BZOJ 題解 單獨考慮每一個點的貢獻: 因為不知道它連了幾條邊,所以枚舉一下 \[\sum_{i=0}^{n-1}C_{n-
第二類斯特林數
one width 公式 OS bds RM 圖片 you display 第二類斯特林數是將n個不同的球放入m個無差別的盒子中, 並且要求盒子非空的方案數。 1.通項公式為: 2.遞推公式: 證明如下: 假設要把n+1個球放入m個盒子裏則分析如下: (1)如果n
BZOJ 2159: Crash 的文明世界(樹形dp+第二類斯特林數+組合數)
tchar cpp def tmp %d ifdef gpo 組合數 const 題意: 給定一棵 \(n\) 個點的樹和一個常數 \(k\) , 對於每個 \(i\) , 求 \[\displaystyle S(i) = \sum _{j=1} ^ {n} \math
bzoj 4555 [Tjoi2016&Heoi2016]求和 NTT 第二類斯特林數 等比數列求和優化
src algo names AI space efi get com name [Tjoi2016&Heoi2016]求和 Time Limit: 40 Sec Memory Limit: 128 MBSubmit: 679 Solved: 534[Su
BZOJ5093 [Lydsy1711月賽]圖的價值 【第二類斯特林數 + NTT】
size init ret 計算 怎麽 math red ini () 題目鏈接 BZOJ5093 題解 點之間是沒有區別的,所以我們可以計算出一個點的所有貢獻,然後乘上\(n\) 一個點可能向剩余的\(n - 1\)個點連邊,那麽就有 \[ans = 2^{{n - 1
HDU 3625 Examining the Rooms【第一類斯特靈數】
long 方法 fff void 但是 min art ron get <題目鏈接> <轉載於 >>> > 題目大意:有n個鎖著的房間和對應n扇門的n把鑰匙,每個房間內有一把鑰匙。你可以破壞一扇門,取出其中的鑰匙,然後用取出鑰匙打開