CF1946C.Tree Cutting

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

给定一棵有 nn 个顶点的树。

你的任务是找到最大的整数 xx,使得可以恰好从这棵树中删除 kk 条边,使得每个剩余连通分量的大小都至少为 xx。

两个顶点 vv 和 uu 在同一个连通分量中,当且仅当存在一个长度为 kk 的数列 t1,t2,…,tkt_1, t_2, \ldots, t_k,满足 t1=vt_1 = v,tk=ut_k = u,并且对于每个 ii 从 11 到 k−1k-1,顶点 tit_i 和 ti+1t_{i+1} 之间有一条边。

输入格式

输入包含多组数据。第一行包含一个整数 tt(1≤t≤1041 \le t \le 10^4),表示数据组数。接下来是每组数据的描述。

每组数据的第一行包含两个整数 nn 和 kk(1≤k<n≤1051 \le k < n \le 10^5),分别表示树的顶点数和要删除的边数。

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

保证所有数据组中 nn 的总和不超过 10510^5。

输出格式

对于每组输入数据,输出一行一个整数,表示可以删除恰好 kk 条边后,每个剩余连通分量的最小大小的最大值 xx。

输入输出样例

  • 输入#1

    6
    5 1
    1 2
    1 3
    3 4
    3 5
    2 1
    1 2
    6 1
    1 2
    2 3
    3 4
    4 5
    5 6
    3 1
    1 2
    1 3
    8 2
    1 2
    1 3
    2 4
    2 5
    3 6
    3 7
    3 8
    6 2
    1 2
    2 3
    1 4
    4 5
    5 6

    输出#1

    2
    1
    3
    1
    1
    2

说明/提示

第一组输入数据对应的树如下:

删除边 11 — 33 后,树变为:

此时树被分成两个连通分量。第一个分量包含顶点 11 和 22,第二个分量包含顶点 3,4,53, 4, 5。两个连通分量的大小都至少为 22。可以证明答案 33 不可实现,所以答案为 22。

由 ChatGPT 4.1 翻译

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

首页