价值
提供了一种把无根树和序列区间对应的方法,方便 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}
\]