QOJ.ac

QOJ

حد الوقت: 3 s حد الذاكرة: 512 MB مجموع النقاط: 100

#4652. 最小直径

الإحصائيات

以下是“最小直径问题”的描述:

给定一个包含 $n$ 个顶点的森林(无环无向图)。考虑向森林中添加一些边,使其变为一棵树。求所得树的最小可能直径。

树的直径定义为所有顶点对之间的最大距离。树中两点之间的距离定义为它们之间最短路径上的边数。

给定一个包含 $n$ 个顶点和 $m$ 条边的森林。边按 $1, 2, \dots, m$ 编号。对于每个 $i = 1, 2, \dots, m$,考虑仅包含前 $i$ 条边的森林,并计算该森林对应的最小直径问题的答案。

输入格式

第一行包含一个整数 $T$ ($1 \le T \le 10^3$),表示测试用例的数量。

对于每个测试用例,第一行包含两个整数 $n, m$ ($2 \le n \le 10^5, 1 \le m < n$)。

接下来的 $m$ 行,每行包含两个整数 $u$ 和 $w$ ($1 \le u, w \le n$),描述森林的第 $i$ 条边。

保证所有测试用例中 $n$ 的总和不超过 $10^6$,且 $m$ 条边构成一个森林。

输出格式

对于每个测试用例,输出 $m$ 行。第 $i$ 行应包含一个整数,表示仅包含原始森林前 $i$ 条边时,最小直径问题的答案。

样例

样例输入 1

1
5 4
1 2
2 3
3 4
4 5

样例输出 1

2
2
3
4

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.