#CF1632E2. 距离树(困难版)
距离树(困难版)
E2. 距离树(困难版)
每次测试时间限制:2 秒
每次测试内存限制:512 兆字节
本题与前一题的区别仅在于 的取值范围。
树是一个无环连通的无向图。带权树的每条边都有一个权值。两点间的距离是连接它们的路径上权值之和的最小值。
给定一棵 个顶点的带权树,每条边的权值均为 。记 为顶点 与顶点 之间的距离。
设 为:若你可以在任意两个顶点 和 ()之间临时添加一条权值为 的边(注意:添加后图不再是一棵树),则 可能的最小值。
对于每个整数 从 到 ,求出 。
输入
第一行包含一个整数 ()——测试用例的数量。
每个测试用例的第一行包含一个整数 ()。
接下来 行,每行包含两个整数 和 (),表示 与 之间有一条边。保证这些边构成一棵树。
所有测试用例的 之和不超过 。
输出
对于每个测试用例,在一行中输出 个整数,其中第 个整数等于 。
示例
输入
3
4
1 2
2 3
1 4
2
1 2
7
1 2
1 3
3 4
3 5
3 6
5 7
输出
1 2 2 2
1 1
2 2 3 3 3 3 3
注意

在第一个测试用例中:
- 当 时,我们可以在顶点 与 之间添加一条边,则 ,,所以 。
- 当 时,无论添加哪条边,都有 ,,,所以 。