Loading

【学习笔记】Prufer 序列

Page Views Count

定义与构造

用于有标号无根树计数。

  • 构造:每次选编号最小的叶子结点,删去这个节点并在序列中记录其父亲。直至剩下 \(2\) 个节点,其中一定有一个为 \(n\)

  • 还原:每次选编号最小的在序列中未出现的节点,将其与队首连边,同时删去队首元素。最后剩下两个节点,连起来即可。

容易发现构造与还原过程都是在找最小,只不过一个连边一个断边。

可以用 set 维护最小,复杂度 \(O(n\log n)\) 大致够用。

性质

然而 Prufer 序列大多数是用来给树计数的。

  • 有标号无根树计数:序列与树是双射,因此是 \(n^{n-2}\)。这个东西叫 Cayley 公式。

  • 有标号有根树计数:每个无根树有 \(n\) 中赋根可能,因此是 \(n\times n^{n-2}=n^{n-1}\)

  • 一个节点的度数是其在序列中出现次数 \(+1\)

  • 根据上一性质,给定度数的情况下,有标号无根树个数为:$$\dbinom{n-2}{d_1-1,d_2-1,\cdots,d_n-1}=\dfrac{(n-2)!}{\prod_{i=1}^n (d_i-1)!}$$

posted @ 2023-02-15 10:56  SoyTony  阅读(71)  评论(0编辑  收藏  举报