\(\) 為第一類斯特林數,表示將 \(n\) 個不同元素劃分為 \(k\) 個圓排列的方案數。
有遞推式
\[=+(n-1)
\]\(\) 為第二類斯特林數,表示將 \(n\) 個不同元素劃分為 \(k\) 個非空子集的方案數。
有遞推式和通項式
\[=+k\\
=\sum_^ \fraci^n}
\]上公升冪和下降冪的定義
\[x^}=\prod_^ (x+k)\\
x^}=\prod_^ (x-k)
\]斯特林數可以把上公升/下降冪和普通冪結合起來
\[x^}=\sum_ x^k\\
x^n=\sum_ (-1)^ x^}\\
x^n=\sum_ x^}\\
x^}=\sum_ (-1)^ x^k
\]還有階乘
\[n^k=\sum_^k \binom i!
\]從上公升/下降冪轉到普通冪用的是第二類,否則用的是第一類。
關於下降冪和組合數,有一些式子
\[\binom k^}=\binom n^}
\]考慮列舉高度為 \(n\) 的建築放在**。這樣就把左邊和右邊切開了,分成獨立的兩塊。我們不妨考慮左邊的情況(右邊本質是相同的)
\(f(i,j)\) 表示 \(i\) 個建築,從左向右看能看到 \(j\) 個建築的方案數。
\[f(i,j)=f(i-1,j-1)+(i-1)\times f(i-1,j)
\]這是第一類斯特林數的遞推式。
考慮左右兩個答案合併起來。
\[ans=\sum_^ \binom
\]這東西可以變成(具體數學 p221 6.29)
\[ans=\binom
\]具體理解為把左右兩邊的圓排列合起來考慮,即 \(n-1\) 個數中選取 \(a+b-2\) 個圓排列,然後分 \(a-1\) 個到左邊,\(a+b-2\) 個到右邊。
code:
\[\begin
ys &= \sum_^ \binom \sum_^ j! \binom & 冪\to階乘\\
&= \sum_^ j! \sum_^ \binom \binom & 交換求和號\\
\binom \binom &= \frac\\
&= \frac \frac\\
&= \binom \binom\\
ys &= \sum_^ j! \binom \sum_^ \binom & 提乙個組合數出去\\
&= \sum_^ j! \binom \sum_^ \binom\\
&= \sum_^ j! \binom 2^ & 下指標求和
\end
\]code:
\[\begin
e(x)^k &= e(x^k)\\
&= \sum_^ i^k \binom \frac \frac}}\\
&= \frac \sum_^ \binom i^k (m-1)^\\
&= \frac\sum_^ j! \binom \sum_^ \binom(m-1)^ & 同上題\\
&= \frac\sum_^ j! \binom m^ & 二項式定理
\end
\]code:
乙個和下降冪無關的做法
\[\begin
ys &= \sum_^ \sum_^ a_ik^ x^k \binom\\
&= \sum_^ a_i \sum_^ x^k k^i \binom\\
&= \sum_^ a_i \sum_^ j! \binom \sum_^ \binom x^ & 同上題\\
&= \sum_^ a_i \sum_^ j! \binom x^ \sum_^ \binom x^\\
&= \sum_^ a_i \sum_^ j! \binom x^ (x+1)^
\end
\]不過裡面有組合數,不大好處理……考慮用公式把階乘乘上組合數換成下降冪就行了。但其實我們 overcomplicate 了這個問題。如果一開始就用下降冪會更好(上題應該一樣)
我們有多項式轉下降冪多項式
\[b_i=\sum_^ a_j\\
f(x)=\sum_^ b_i x^}
\]\[\begin
ys &= \sum_^ b_i \sum_^ x^k k^} \binom & 轉下降冪多項式\\
&= \sum_^ b_i \sum_^ x^k n^} \binom & 下降冪與組合數\\
&= \sum_^ b_i n^} x^ \sum_^ x^ \binom\\
&= \sum_^ b_i n^} x^ (x+1)^
\end
\]其實兩種解法本質沒有什麼不同,只不過第一種中,下降冪用階乘乘上乙個組合數表示了,所以看上去會複雜一些。
code:
學校裡推的式子,又因為懶得打latex,就先鴿著(?
code:
感覺很厲害的一道題目。
首先題目中有乙個非常不好的 \(k\) 次方。我們可以轉化成:
\[d(i,j)^k=\sum_^ \binom i!
\]於是有:
\[\begin
s(u) &= \sum_^ \sum_^ \binom} i!\\
&= \sum_^ i! \sum_^ \binom}\\
\end
\]考慮用換根 dp 求出後面那個組合數求和。設 \(f(u,t)\) 表示 \(u\) 子樹內的 \(\binom}\) 之和。關於組合數的轉移,我們有加法公式,所以可以:
\[f(u,t)=\sum_ f_+f_
\]然後是換根。\(g(v,t)\) 表示子樹外的和。父親的貢獻為 \(g(u,t)+g(u,t-1)\),兄弟的貢獻為 \(f(u,t)+f(u,t-1)-(f(v,t)+2f(v,t-1)+f(v,t-2))\)。
\[f(v,t)=g(u,t)+g(u,t-1)+f(u,t)+f(u,t-1)-(f(v,t)+2f(v,t-1)+f(v,t-2))
\]然後 dp 好之後統計一下答案即可。
第二類斯特林數的奇偶性……
考慮斯特林數的遞推式
\[\begin
&= + m \\
&\equiv + [2 \not\mid m] \\
\end
\]考慮畫出轉移圖。每乙個點都可以斜著向右上走,但是只有 \(m\) 為偶數的時候才可以向右走。即求最終的路徑方案數的奇偶性。考慮用組合數計算,我們要有 \(m\) 次向右上走,\(n-m\) 次向右走。一共有 \(n-m\) 個機會向右上轉移,\(r=\lfloor \frac \rfloor\) 個機會向右轉移。那麼用組合數即可計算出結果
\[\binom
\]然後根據組合數的結論
\[\binom\equiv[(n \operatorname m)= m] \pmod 2
\]code:
《組合數學》學習筆記
p28 定理2.4.2 設s是多重集合,它有k種不同型別的物件,且每一種型別的有限重複數分別是n1 n2,n k n1,n2,nk 設s的大小為n n1 n 2 nk n n 1 n2 n k。則s的排列數目等於 x n n1 n2 n k x n n1 n2 nk p32 定理2.51 設s是有k...
組合數學學習筆記
常見組合計數 n球m盒分配問題 球有別,盒子有別,盒子可空 m n 每個同學都有m種選擇 球無別,盒子有別,盒子不可空 c n 1,m 1 隔板法 球無別,盒子有別,盒子可空 c n m 1,m 1 先給每個盒子放乙個,再用隔板法 環排列 n 1 線性排列有n 種,每種環排列都包含n種線性排列,所以...
組合數學學習
圓排列和項鍊排列 問題 八個人圍在乙個桌子吃飯,怎麼坐?先簡單看看 這是乙個圓排列,我們可以把它變成線排列。可以知道我們可以從4個方面剪開這個環得到4種排列。2341 1234 3412 4123 如果從n個數中取r個進行線排列 p n,r 種方法。但如果是圓排列呢,由上面的例子可知四個線排列就等於...