Prufer 序列
Matrix-Tree 定理
然而我都不会 233,所以下面说一个生成函数角度的证法 .
我们知道 \(n\) 个节点的有标号无根树有 \(n^{n-2}\) 种,即 Cayley 公式 .
具体数学的做法是考虑递推完全图生成树个数,然后推出 EGF 的关系 .
那个递推太牛逼了,我就不这么干了,先令 \(g_n\) 表示 \(n\) 个节点的有标号有根树个数(\(g_0=0\)),且其 EGF 为 \(G(z)\) .
钦定一个根,它每一个儿子的 EGF 都与它相同, 就是 \(G(z)\) . 那么它的生成函数就是它儿子生成函数的一个组合, 即 \(\mathrm e^{G(z)}\) . 然后考虑根本身的影响,有
\[G(z)=z\mathrm e^{G(z)}
\]
即 \(G(z)\mathrm e^{-G(z)}=z\) .
现在只需要解出 \(G\) 来然后提取系数即可 .
方法 1
Lagrange 反演
若 \(F,G\) 互为复合逆(即 \(F(G(z))=G(F(z))=z\)),且 \(F,G\) 常系数为 \(0\),\(1\) 次项非 \(0\),则有
\[[z^n]G(z)=\dfrac1n[z^{-1}]F(z)^{-n}
\]
令 \(F(z)=z\mathrm e^{-z}\),那么易见 \(F,G\) 互为复合逆,于是 Lagrange 反演一下,得到
\[\begin{aligned}[x^n]G(z)&=\dfrac1n[z^{-1}]F(z)^{-n}\\&=\dfrac 1n[z^{n-1}]\left(z^nF(z)^{-n}\right)\\&=\dfrac1n[z^{n-1}]\left(\dfrac{z}{F(z)}\right)^n\\&=\dfrac1n[z^{n-1}]\mathrm e^{nz}\\&=n^{n-1}\end{aligned}
\]
于是有标号有根树个数为 \(n^{n-1}\),于是有标号无根树个数就是 \(n^{n-2}\),Cayley 公式得证 .
方法 2(不确保正确性,要是错了轻 D)
考虑广义指数函数 \(\mathcal E_t(z)\) 定义为
\[\mathcal E_t(z)=\sum_{n\ge 0}(tn+1)^{n-1}\dfrac{z^n}{n!}
\]
广义指数函数有一个性质叫
\[\mathcal E_t(z)^{-t}\ln\mathcal E_t(z)=z
\]
令 \(\mathcal D(z)=\ln\mathcal E_t(z)\),则上式可以化为
\[\dfrac{\mathcal D(z)}{\mathrm e^{t\mathcal D(z)}}=z
\]
移项得
\[\mathcal D(z)=z\mathrm e^{t\mathcal D(z)}
\]
取 \(t=1\) 就得到所需 EGF \(G\) .
于是 \(G(z)=\ln\mathcal E_1(z)\) .
然后 EGF \(\ln\) 其实相当于一个平移,所以就可以根据定义提取系数 \([z^n]G(z)=n^{n-1}\) .
同样,这表明有标号有根树个数为 \(n^{n-1}\),于是有标号无根树个数就是 \(n^{n-2}\),Cayley 公式又得证 .
UPD. 具体数学写法好像和我不太一样,我也知道 EGF 的微积分事实上是平移,然而这个做法看起来哪都对(