CF2222G Statistics on Tree

题目描述

[Nanatsukaze - Aria](https://www.youtube.com/watch?v=P7ueDJG9IO4) 给定一棵有 $n$ 个顶点的树。我们定义一个数对 $(u,v)$($1\leq u\leq v\leq n$)的值为:在原树中删除从 $u$ 到 $v$ 的路径上的所有边后,所得的最大连通块的大小。 对于每个 $1\leq i\leq n$,你需要统计有多少不同的数对 $(u,v)$ 使得其值为 $i$。

输入格式

每个测试点包含多组测试用例。第一行为测试用例组数 $t$($1 \le t \le 10^4$)。每组测试用例的描述如下: 每组的第一行包含一个整数 $n$($1\leq n \leq 10^5$),表示顶点数量。 接下来 $n-1$ 行,每行包含两个整数 $u$ 和 $v$($1\leq u,v\leq n$),表示第 $i$ 条边连接了顶点 $u$ 和顶点 $v$。 保证输入的边集构成一棵树。 保证所有测试用例的 $n$ 之和不超过 $5 \cdot 10^5$。

输出格式

对于每个测试用例,输出 $n$ 个整数,第 $i$ 个数表示有多少个不同的数对 $(u,v)$,其值为 $i$。

说明/提示

在第一个测试用例中,数对 $(1, 1)$ 的值为 $1$。 在第二个测试用例中,数对 $(1, 1)$ 和 $(2, 2)$ 的值均为 $2$,因为没有边会被删除。数对 $(1, 2)$ 的值为 $1$,因为在树中 $1$ 到 $2$ 的路径上只有一条边 $(1, 2)$,删除后会得到两个连通分量,分别为 $\{1\}$ 和 $\{2\}$,最大分量的大小为 $1$。 在第六个测试用例中,数对 $(4, 6)$ 的值为 $3$,因为在树中从 $4$ 到 $6$ 的路径上的边有 $(3, 4)$、$(2, 3)$ 和 $(2, 6)$,删除这三条边后,将剩下 $4$ 个连通分量,分别为 $\{1, 2, 5\}$、$\{3, 7\}$、$\{4\}$、$\{6\}$,其中最大分量的大小为 $3$。 由 ChatGPT 5 翻译