講遞推和初步性質。退役前可能學不到多項式。
第一類斯特林數:$s(n,m) $把 \(n\) 個元素分成 \(m\) 組圓排列的方案,圓排列是 \((n-1)!\)。
從 dp 意義上推遞推公式,設 \(s(i,j)=dp_{i,j}\) 為 \(i\) 個元素分 \(j\) 組圓排列的方案。則第 \(i\) 個元素可以獨立成組或者加入到先前組的某個元素旁邊,有轉移
初始化 \(s(0,0)=s(1,1)=1,s(i,1)=(i-1)!\)
這個東西還可以用來推上升冪下降冪相關,是多項式的內容,提一嘴。
其中 \(s_u()\) 就是 \(s()\),\(s_s(n,m)=(-1)^{n+m}s_u(n,m)\)
建築師
排個序從中抽若干個點 \(p_i,p_i>p_{i-1}\) 作為能看到的貢獻點那剩下的那部分點可以圍在這些 \(p_i\) 周圍,\(n\) 會把答案分成 \(A-1+B-1\) 組,那就相當於用 \(n-1\) 個元素形成了 \(A+B-2\) 組環排列。答案即 \(\begin{bmatrix}n-1\\A+B-2\end{bmatrix}\binom{A+B-2}{A-1}\)
第二類斯特林數:\(S(n,m)\) 把 \(n\) 個不同的球放到 \(m\) 個相同盒子裡的方案,求法是類似的,第 \(i\) 個球要麼獨立成盒要麼放到先前某個盒子裡。
然後捯飭一下可以解決一些小問題比如 \(n\) 個不同球放 \(m\) 個不同盒就考慮盒自排列即 \(m!S(n,m)\)。\(n\) 個球放到 \(m\) 個可以為空的盒子就是 \(\sum_{i=1}^mS(n,i)\)。
然後 \(n\) 個不同球放到 \(m\) 個可以為空的不同盒顯然是 \(n^m\),用斯特林數表示可以是 \(\sum_{i=1}^mi!\binom{m}{i}S(n,i)\)。
然後這個就是斯特林展開即
Crash 的文明世界
模擬賽考的是樹上全點對路徑長 \(k\) 次方和,二項式定理展開維護一下 \(i\) 次方貢獻跑點分治能過 \(10^5\),但是澱粉質感覺不太能做這題。這個題直接把換根 \(dp\) 寫臉上了。
然後 \(i!*\binom{dis(x,y)}{i}\) 可以寫成一個下降冪的形式並且下降冪有性質 \((x+1)^ {\underline i}=ix^{\underline {i-1}}+x^{\underline i}\)。那就可以維護 \(f_{u,i},dp_{u,i}\) 表示 \(u\) 子樹到 \(u\) 和 \(u\) 它爹的 \(i\) 次下降冪和有轉移
然後換個根就是 \(u->v\) 則 \(u\) 刨去 \(v\) 子樹部分的距離要 \(+1\),剩下的不變,給每次 \(f_{v,i}\) 提供一個修正量
統計一下就好了。