A3126 「ROIR 2024 Day1」选择首都

暂无评定 传统题 ROIR(俄罗斯) 上传者
时间限制2000ms
内存限制512MiB
通过 / 提交0/0

A3126「ROIR 2024 Day1」选择首都

暂无评定 传统题 ROIR(俄罗斯) 上传者
时间限制2000ms
内存限制512MiB
通过 / 提交0/0

题目描述

译自 ROI Regional 2024 Day1 T4. Выбор столицы

给定一个无向树,即一个包含 nn 个顶点且无环的连通图,以及一个整数 kk。固定树中的某个顶点 ss 并将其称为首都。

将树的边从首都开始定向。换句话说,如果将树悬挂在顶点 ss 上,如果顶点 uu 是顶点 vv 的父节点,则将边 (u,v)(u, v) 定向为 u→vu \to v。注意,这样定向后,每个顶点都可以从首都到达。

定义到顶点 vv 的距离为从 ss 到 vv 的最小边数。称顶点 ss 的 可达性 为到所有顶点的最大距离。

允许在树中添加不超过 kk 条额外的有向边。

对于树中的每个顶点 ss,确定如果选择顶点 ss 作为首都,添加不超过 kk 条额外的有向边,可以达到的最小 可达性。

注意,在某些子任务中,只需要输出第一个顶点的答案。

输入格式

第一行包含三个整数 n,k,tn,k,t $(2 \le n \le 2 \cdot 10^5, 1 \le k \le n - 1, n \cdot k \le 2 \cdot 10^5, 0 \le t \le 1)$,分别表示树的顶点数、最多添加的边数限制和一个标志 tt,如果 t=0t = 0,则只需要输出编号为 11 的顶点的答案,否则输出所有顶点的答案。

接下来的 n−1n - 1 行中,每行包含两个整数 uiu_i 和 viv_i (1≤ui,vi≤n)(1 \le u_i, v_i \le n),表示树的边。

保证给定的边构成一棵树。

输出格式

如果 t=0t = 0,输出一个整数,表示选择编号为 11 的顶点作为首都,添加不超过 kk 条额外的有向边,可以达到的最小 可达性。

如果 t=1t = 1,输出 nn 个整数,第 ii 个整数表示选择编号为 ii 的顶点作为首都,添加不超过 kk 条额外的有向边,可以达到的最小 可达性。

5 2 1
1 2
1 3
2 4
2 5
1 1 2 2 2
3 1 0
1 2
2 3
1

下图展示了第一个样例的示意图。虚线表示添加的边。对于顶点 11 和 22,最小 可达性 为 11,而对于顶点 33、44 和 55,最小 可达性 为 22。

tree.png

数据范围与提示

详细子任务附加限制及分值如下表所示。

子任务 分值 附加限制 子任务依赖
11 55 ui=i,vi=i+1,t=0u_i = i, v_i = i + 1, t = 0
22 55 k=1,n≤2000,t=0k = 1, n \le 2000, t = 0
33 1010 k=1,t=0k = 1, t = 0 22
44 55 ui=i,vi=i+1u_i = i, v_i = i + 1 11
55 55 n≤16n \le 16
66 1010 n≤50n \le 50 55
77 1010 n≤400n \le 400 5,65, 6
88 1010 n≤2000n \le 2000 5,6,75, 6, 7
99 2525 n⋅k≤50000n \cdot k \le 50000 2,5,6,7,82, 5, 6, 7, 8
1010 1515 无附加限制 1∼91\sim 9