CF2018C.Tree Pruning

普及+/提高

通过率:0%

AC君温馨提醒

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

题目描述

你有一棵以 11 号节点为根的树,共有 nn 个节点。在本题中,叶子节点指的是度数为 11 且不是根节点的节点。

每次操作,你可以移除一个叶子节点及其与树相连的那条边(这样可能会产生新的叶子节点)。你需要进行最少多少次操作,才能使得这棵以 11 号节点为根的树的所有叶子节点都处于距离根节点相同的位置?

输入格式

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

每个测试用例的第一行包含一个整数 nn(3≤n≤5⋅1053 \leq n \leq 5 \cdot 10^5),表示节点数。

接下来的 n−1n-1 行,每行包含两个整数 uu 和 vv(1≤u,v≤n1 \leq u, v \leq n,u≠vu \neq v),表示一条连接 uu 和 vv 的边。保证给出的边构成一棵树。

保证所有测试用例中 nn 的总和不超过 5⋅1055 \cdot 10^5。

输出格式

对于每个测试用例,输出一个整数,表示达到目标所需的最小操作次数。

输入输出样例

  • 输入#1

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

    输出#1

    2
    2
    5

说明/提示

在前两个示例中,树的结构如下:

在第一个示例中,通过移除边 (1,3)(1, 3) 和 (2,5)(2, 5),最终树的所有叶子节点(节点 66 和 77)都处于距离根节点(节点 11)为 33 的位置。答案为 22,即最少需要移除的边数。

在第二个示例中,移除边 (1,4)(1, 4) 和 (5,7)(5, 7) 后,所有叶子节点(节点 44 和 55)都处于距离根节点(节点 11)为 22 的位置。

由 ChatGPT 4.1 翻译

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

首页