CF1976F.Remove Bridges
省选/NOI-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一棵有根树,包含 n 个顶点,编号从 1 到 n,顶点 1 是根节点。此外,根节点只有一个子节点。
你需要在树上恰好添加 k 条边(可以是重边,也可以是已经存在的边)。
回忆一下,桥是指这样一条边:如果移除它,图中的连通分量数会增加。因此,初始时树中的所有边都是桥。
在添加了 k 条边后,树中某些原有的边仍然是桥,而有些则不再是桥。你需要满足以下两个条件:
- 对于每一条桥,该桥的下端点的子树中的所有树边也必须是桥;
- 桥的数量要尽可能少。
对于每个 k 从 1 到 n−1,求出添加 k 条边后,桥的最小数量。
输入格式
第一行包含一个整数 t(1≤t≤104),表示测试用例的数量。
每个测试用例的第一行包含一个整数 n(2≤n≤3×105),表示树的顶点数。
接下来的 n−1 行,每行包含两个整数 v 和 u(1≤v,u≤n),表示树中的一条边。保证给定的边构成一棵合法的树。
输入的额外约束:根节点(顶点 1)恰好有一个子节点。
所有测试用例中 n 的总和不超过 3×105。
输出格式
对于每个测试用例,输出 n−1 个整数。对于每个 k 从 1 到 n−1,输出添加 k 条边后,桥的最小数量。
输入输出样例
输入#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测评打分。不知道怎么写?