前置
prufer序
对于一颗有标号无根数,可以用长为 \(n-2\) 的数列去刻画它,其生成过程为:每次选出编号最小的叶子,删除它,且在数列中加入这个叶子连边的结点。
对于生成prufer序和还原树都是好做的,可以用堆在 \(O(nlogn)\) 的时间复杂度下做到,
- 结论:有标号无根数和长为 \(n-2\) 值域为 \([1,n]\) 中的整数构成双射。
证明:显然,生成与还原都具有唯一性。
有标号无根树个数
Cayley公式:大小为 \(n\) 的带标号的无根树有 \(n^{n-2}\) 个。
证明:
(1)手消完全图生成树的行列式。
(2)将树转序列。
若干连通块连成有标号无根数个数
结论:对于 \(n\) 个点构成的 \(m\) 个连通块,其连通块之间连成的有标号无根数个数为 \(n^{m-2}\Pi a_i\) 。
这个你可以看作两个点间可以有 \(a_ia_j\) 中连边方式。
证明:
(1)手消行列式。
(2)类似prufer序。