QOJ.ac

QOJ

时间限制: 3.5 s 内存限制: 512 MB 总分: 120

#11443. Stablo II

统计

Patrik 得到了一棵有 $n$ 个顶点的树。他决定用 $k$ 种不同的颜色给这棵树的边染色。

最初,树的所有边都被染成颜色 0。他将按从第 1 种到第 $k$ 种的顺序使用颜色,其中他会使用第 $i$ 种颜色将从 $x_i$ 号节点到 $y_i$ 号节点的最短路径上的所有边染上该颜色。如果路径上的一条边已经被染过色,新颜色将覆盖旧颜色。

请帮助 Patrik 确定每条边的最终颜色。

输入格式

输入的第一行包含数字 $n$ 和 $k$ ($2 \le n \le 10^6, 1 \le k \le 10^6$),分别表示树的顶点数和颜色数。

接下来的 $n-1$ 行,每行包含数字 $u_i$ 和 $v_i$ ($1 \le u_i, v_i \le n$),表示第 $i$ 条边连接顶点 $u_i$ 和 $v_i$。保证这些边构成一棵树。

接下来的 $k$ 行,每行包含数字 $x_i$ 和 $y_i$ ($1 \le x_i, y_i \le n$),表示 Patrik 染色路径的起点和终点。

输出格式

在一行中,按照输入中给出的顺序打印每条边的最终颜色。

子任务

子任务 分值 数据范围
1 15 $u_i = i, v_i = i + 1$ 对于所有 $i$
2 15 $n, k \le 2000$
3 45 $n \le 10^5$
4 45 无附加限制

样例

输入 1

6 2
1 2
2 3
2 4
1 5
4 6
5 2
6 1

输出 1

2 0 2 1 2

输入 2

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

输出 2

3 4 4 0

输入 3

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

输出 3

1 3 3 4

说明

第一个样例的说明: 使用第一种颜色时,他染了第 1 条边和第 4 条边;然后使用第二种颜色时,他染了第 1 条、第 3 条和第 5 条边。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.