從錯排數講起,
考慮乙個有n個元素的排列,若乙個排列中所有的元素都不在自己原來的位置上,那麼這樣的排列就稱為原排列的乙個錯排。用容斥來解決這個問題,不難發現錯排數即為g(
n)=∑
i=1n
(−1)
i(ni
)(n−
i)!
考慮二項式定理,(1
−1)n
=∑i=
0n(−
1)i(
ni)=
0 上式當n=0時值為1,所以有∑i
=0n(
−1)i
(ni)
=[n=
0](∗
式)設n個元素排列數f(n)=n!,則顯然有f(
n)=∑
i=0n
(ni)
g(i)
將g(n)換一下形式有g(
n)=∑
i=0n
[n−i
=0](
ni)g
(i)
將*式代入,有g(
n)=∑
i=0n
∑j=0
n−i(
−1)j
(n−i
j)(n
i)g(
i)注意到(n
−ij)
(ni)
=(nj
)(n−
ji)
所以,有g(
n)=∑
i=0n
∑j=0
n−i(
−1)j
(nj)
(n−j
i)g(
i)交換求和順序,g(
n)=∑
j=0n
−i(−
1)j(
nj)∑
i=0n
(n−j
i)g(
i)注意到右邊是f()的形式g(
n)=∑
i=0n
(−1)
i(ni
)f(n
−i)
換一下下標g(
n)=∑
i=0n
(−1)
n−i(
ni)f
(i)
這就是二項式反演:
若f(第一類斯特林數:n)=∑
ni=0
(ni)
g(i)
則g(n)=∑
ni=0
(−1)
n−i(
ni)f
(i)
留坑待填
第二類斯特林數:
n個不同的元素拆分成m個集合的方案數記為
遞推公式(列舉最後乙個元素轉移):
= +m*
通項公式:
注意到kn=
∑km=
0amk
(n個不同的元素拆分成m個集合的方案數,允許空集) 則有k
n=∑m
=0k(
km)m
! 使用二項式反演,則有m!
=∑k=
0m(−
1)m−
k(mk
)kn
整理後得到=1
m!∑k
=0m(
−1)k
(mk)
(m−k
)n留坑待填
斯特林數 斯特林反演
第一類stirling數 s n,m 也可記為 beginn m end 第一類stirling分為無符號第一類stirling數 s u n,m 和帶符號第一類stirling數 s s n,m 他們分別表現為其公升階函式和降階函式的各項係數,形式如下 x x cdot x 1 cdot x 2 ...
Square(斯特林反演)
給出乙個 n m 大小的矩形,每個位置可以填上 1,c 中的任意乙個數,要求填好後任意兩行互不等價且任意兩列互不等價,兩行或兩列等價當且僅當對應位置完全相同,求方案數 n,m le 5000 這題是 wearry 出的神題,根本不會做。把題解搬過來了。首先我們有乙個很簡單的方式使得列之間互不等價,對...
知識點簡單總結 斯特林數 斯特林反演
第一類斯特林數 n 元置換分解為 k 個獨立輪換的方案數,即 begin n k end n 1 begin n 1 k end begin n 1 k 1 end.第二類斯特林數 n 個元素分成 k 個非空集合的方案數,即 begin n k end k begin n 1 k end begin...