CF1976F.Remove Bridges

省选/NOI-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定一棵有根树,包含 nn 个顶点,编号从 11 到 nn,顶点 11 是根节点。此外,根节点只有一个子节点。

你需要在树上恰好添加 kk 条边(可以是重边,也可以是已经存在的边)。

回忆一下,桥是指这样一条边:如果移除它,图中的连通分量数会增加。因此,初始时树中的所有边都是桥。

在添加了 kk 条边后,树中某些原有的边仍然是桥,而有些则不再是桥。你需要满足以下两个条件:

  • 对于每一条桥,该桥的下端点的子树中的所有树边也必须是桥;
  • 桥的数量要尽可能少。

对于每个 kk 从 11 到 n−1n-1,求出添加 kk 条边后,桥的最小数量。

输入格式

第一行包含一个整数 tt(1≤t≤1041 \le t \le 10^4),表示测试用例的数量。

每个测试用例的第一行包含一个整数 nn(2≤n≤3×1052 \le n \le 3 \times 10^5),表示树的顶点数。

接下来的 n−1n-1 行,每行包含两个整数 vv 和 uu(1≤v,u≤n1 \le v, u \le n),表示树中的一条边。保证给定的边构成一棵合法的树。

输入的额外约束:根节点(顶点 11)恰好有一个子节点。

所有测试用例中 nn 的总和不超过 3×1053 \times 10^5。

输出格式

对于每个测试用例,输出 n−1n-1 个整数。对于每个 kk 从 11 到 n−1n-1,输出添加 kk 条边后,桥的最小数量。

输入输出样例

  • 输入#1

    4
    2
    1 2
    12
    4 10
    5 12
    12 11
    3 6
    9 6
    1 6
    12 7
    11 6
    2 11
    10 9
    10 8
    8
    1 2
    2 3
    2 4
    3 5
    3 6
    4 7
    4 8
    5
    1 2
    2 3
    3 4
    4 5

    输出#1

    0 
    7 3 1 0 0 0 0 0 0 0 0 
    4 1 0 0 0 0 0 
    0 0 0 0

说明/提示

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页