CF1946C.Tree Cutting
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一棵有 n 个顶点的树。
你的任务是找到最大的整数 x,使得可以恰好从这棵树中删除 k 条边,使得每个剩余连通分量的大小都至少为 x。
两个顶点 v 和 u 在同一个连通分量中,当且仅当存在一个长度为 k 的数列 t1,t2,…,tk,满足 t1=v,tk=u,并且对于每个 i 从 1 到 k−1,顶点 ti 和 ti+1 之间有一条边。
输入格式
输入包含多组数据。第一行包含一个整数 t(1≤t≤104),表示数据组数。接下来是每组数据的描述。
每组数据的第一行包含两个整数 n 和 k(1≤k<n≤105),分别表示树的顶点数和要删除的边数。
接下来的 n−1 行中,每行包含两个整数 v 和 u(1≤v,u≤n),表示树中的一条边。
保证所有数据组中 n 的总和不超过 105。
输出格式
对于每组输入数据,输出一行一个整数,表示可以删除恰好 k 条边后,每个剩余连通分量的最小大小的最大值 x。
输入输出样例
输入#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
说明/提示
第一组输入数据对应的树如下:

删除边 1 — 3 后,树变为:

此时树被分成两个连通分量。第一个分量包含顶点 1 和 2,第二个分量包含顶点 3,4,5。两个连通分量的大小都至少为 2。可以证明答案 3 不可实现,所以答案为 2。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?