本題包含三個問題:
- 問題 0:已知兩棵 \(n\) 個節點的樹的形態(兩棵樹的節點標號均為 \(1\) 至 \(n\)),其中第一棵樹是紅樹,第二棵樹是藍樹。要給予每個節點一個 \([1, y]\) 中的整數,使得對於任意兩個節點 \(p, q\),如果存在一條路徑 \((a_1 = p, a_2, \cdots , a_m = q)\) 同時屬於這兩棵樹,則 \(p, q\) 必須被給予相同的數。求給予數的方案數。
- 存在一條路徑同時屬於這兩棵樹的定義見「題目背景」。
- 問題 1:已知藍樹,對於紅樹的所有 \(n^{n-2}\) 種選擇方案,求問題 0 的答案之和。
- 問題 2:對於藍樹的所有 \(n^{n-2}\) 種選擇方案,求問題 1 的答案之和。
\(y=1\) 的情況:
- \(opt=0:1\)
- \(opt=1:n^{n-2}\)
- \(opt=2:n^{2n-4}\)
不妨設邊集為 \(T_1,T_2\)。
問題0:顯然也就是兩棵樹的公共邊保留,答案也就是 \(y^{n-c}\),其中 \(c\) 是公共邊條數。
問題1:
\(\sum_{T_2}y^{n-|T_1\cap T_2|}\)
設 \(g(T)=\sum_{T_2}[T\subseteq T_1\cap T_2]\),也即包含邊集 \(T\) 的樹個數,可以假定 \(T\) 由 \(n-|T|\) 個連通塊構成,大小分別為 \(a_1\sim a_{n-|T|}\),則 \(g(T)=n^{n-|T|-2}\prod_{i=1}^{n-|T|}a_i\)
\[\begin{aligned}
\sum_{T_2}y^{n-|T_1\cap T_2|}&=\sum_{T_2}\sum_{T\subseteq T_1\cap T_2}\sum_{S\subseteq T}(-1)^{|T|-|S|}y^{n-|S|}\text{(子集反演)}\\
&=\sum_{T}g(T)\sum_{S\subseteq T}y^{n-|S|}(-1)^{|T|-|S|}\\
&=\sum_{T}g(T)y^{n-|T|}\sum_{S\subseteq T}(-1)^{|T|-|S|}y^{|T|-|S|}\\
&=\sum_{T}g(T)y^{n-|T|}\sum_{S\subseteq T}(-y)^{|T|-|S|}\\
&=\sum_{T}g(T)y^{n-|T|}(1-y)^{|T|}\text{(二項式定理)}\\
&=\sum_{\sum_{i=1}^k a_i=n}n^{k-2}y^k(1-y)^{n-k}\prod_{i=1}^ka_i\text{(Purfer 序列)}\\
&=\frac{(1-y)^n}{n^2}\sum_{\sum_{i=1}^k a_i=n}\prod_{i=1}^k\frac{a_i·n·y}{1-y}\\
\end{aligned}
\]
而 \(\sum_{\sum_{i=1}^k a_i=n}\prod_{i=1}^k\frac{a_i·n·y}{1-y}\) 可以由原樹進行樹形DP求得。
即:每個點點權為 \(\frac{ny}{1-y}\),要求將原樹劃分為若干個連通塊,劃分方案的權值定義為各個連通塊點權和之積,求所有劃分方案權值和。
定義 \(f_{i,0/1}\) 為子樹 \(i\) 當前連通塊是否已經選擇的權值和。
容易得到:
\(f_{u,0}\leftarrow f_{u,0}·f_{v,0}+f_{u,0}·f_{v,1}\)
\(f_{u,1}\leftarrow f_{u,1}·f_{v,0}+f_{u,1}·f_{v,1}+f_{u,0}·f_{v,1}\)
初始化 \(f_{u,0}=1,f_{u,1}=\frac{ny}{1-y}\)。
問題2:現在連原樹也沒了。。。
其實上式也符合,因為兩棵樹都沒有,所以上式的 \(g(T)\) 改為 \(g^2(T)\) 即可。
\[\begin{aligned}
\sum_{T_1,T_2}y^{n-|T_1\cap T_2|}&=\sum_{T_1,T_2}\sum_{T\subseteq T_1\cap T_2}\sum_{S\subseteq T}(-1)^{|T|-|S|}y^{n-|S|}\\
&=\sum_{T}g^2(T)\sum_{S\subseteq T}y^{n-|S|}(-1)^{|T|-|S|}\\
&=\sum_{T}g^2(T)y^{n-|T|}\sum_{S\subseteq T}(-1)^{|T|-|S|}y^{|T|-|S|}\\
&=\sum_{T}g^2(T)y^{n-|T|}\sum_{S\subseteq T}(-y)^{|T|-|S|}\\
&=\sum_{T}g^2(T)y^{n-|T|}(1-y)^{|T|}\\
&=\sum_{\sum_{i=1}^k a_i=n}n^{2k-4}y^k(1-y)^{n-k}\prod_{i=1}^ka^2_i\\
&=\frac{(1-y)^n}{n^4}\sum_{\sum_{i=1}^k a_i=n}\prod_{i=1}^k\frac{a^2_i·n^2·y}{1-y}\\
\end{aligned}
\]
哦豁,現在就是後式求和怎麼玩了。。。
考慮每個連通塊,大小為 \(a_i\) 的樹有 \(a_i^{a_i-2}\),所以對於一組 \([a_1,a_2…a_k]\) 會有 \(\prod_{i=1}^ka_i^{a_i-2}\) 個不同局面。(有標號MSET構造)
所以所求:
\[\begin{aligned}
\sum_{\sum_{i=1}^k a_i=n}\prod_{i=1}^k\frac{a^2_i·n^2·y}{1-y}&=[z^n]\exp(\sum_{i=0}\frac{i^in^2y}{i!})\\
&=[z^n]\sum_{k}\frac{1}{k!}\left(\sum_{i}\frac{i^in^2y}{i!}\right)^k
\end{aligned}
\]
所以答案為:
\[\frac{(1-y)^n}{n^4}[z^n]\exp\left(\sum_{k}\frac{k^kn^2y}{k!}\right)
\]