关于 prufer 序

价值

提供了一种把无根树和序列区间对应的方法,方便 oi 中的计数。

性质

对于树点数为 \(n\) 编号为 \(1\to n\) 的树:

  • prufer 序长度为 \(n-2\)
  • 在树上度数为 \(x\) 的节点会在 prufer 序中出现 \(x-1\) 次。
  • 无根树每个点等价。

式子

无根树个数:\(\large n^{n-2}\)

另一个形式的:

\[\large n^{n-2}=\sum_{d_i>1,\sum^{n}_{i=1}d_i=2n-2}\begin{pmatrix} n-2\\d_1-1,d_2-1,\cdots,d_n-1 \end{pmatrix}\]

这个形式下,假如我们有贡献于每一个点价值的平方和度数有关,那么我们有:

\[\large\sum_{d_i>1,\sum^{n}_{i=1}d_i=2n-2}\begin{pmatrix} n-2\\d_1-1,d_2-1,\cdots,d_n-1 \end{pmatrix}\cdot k\prod^{n}_{i=1}w_i^{d_i+x}=k(\sum^{n}_{i=1}w_i)^{n-2}\prod^{n}_{i=1}w_i^{x+1}\]

还有一个例子:对于一颗无根有标号树,设其价值为所有节点的度数的平方的和。我们该如何计算?

对于每个点来说是等价的,所以我们直接算一个点的贡献就好了,为什么我们不用上面的式子呢,因为 \(w_i=d_i\) 所以用不了。

这个题我们在序列中算 \(1\) 个点的期望贡献就可以了。我们固定一个点,算当它度数为 \(k\) 个贡献,其他点我们随便填我们有:

\[\large f_n=n\sum^{n-1}_{i=0}\begin{pmatrix}n-2\\i-1\end{pmatrix}(n-1)^{n-i-1} \]

posted @ 2025-07-31 17:57  NeeDna  阅读(16)  评论(0)    收藏  举报