QOJ.ac

QOJ

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

#202. 被操纵的道路

الإحصائيات

Silvermill 最近预算紧张,市长 Peanut 打算拆除一些道路以节省维护成本。Silvermill 可以描述为一个拥有 $N$ 个路口和 $E$ 条连接它们的道路的城市,其中第 $i$ 条道路连接路口 $A_i$ 和 $B_i$。每个路口编号为 $1, \dots, N$,每条道路编号为 $1, \dots, E$。保证任意两个路口之间都可以直接或间接地到达,且没有两条道路共享相同的端点。

为了推进这项工作,Peanut 雇佣你来帮助评估道路的维护成本。Peanut 的任务如下:你需要报告一个列表 $W = (W_1, W_2, \dots, W_E)$,使得 $W$ 是 $1, \dots, E$ 的一个排列,且 $W_i$ 是保留第 $i$ 条道路的成本。

随后,Peanut 将选择一个道路子集进行保留,使得:

  • 所有路口保持连通。
  • 所保留道路的成本之和最小。

换句话说,Peanut 将根据你给出的权重保留最小生成树。注意,由于成本各不相同,最小生成树是唯一的。

Peanut 不知道的是,你有一个隐藏的议程。你希望保留一个构成生成树的道路子集 $R$。请注意,你可以通过仔细选择 $W$ 来诱导 Peanut 选择 $R$。你的目标是找到满足上述条件的字典序最小的排列 $W$。

总之,给定一个构成生成树的道路子集 $R$,找到字典序最小的权重分配 $W$,使得该城市的最小生成树为 $R$。

输入格式

你的程序必须从标准输入读取数据。

输入的第一行包含两个整数 $N$ 和 $E$。

接下来 $E$ 行,第 $i$ 行包含两个整数 $A_i$ 和 $B_i$,描述一条道路。

输入的最后一行包含 $N - 1$ 个整数,即你希望保留的道路集合 $R$ 中的道路编号。

输出格式

你的程序必须输出到标准输出。

输出应包含一行 $E$ 个整数,即导致 $R$ 被选为最小生成树的字典序最小的排列 $W$。

子任务

每个实例的最大执行时间为 2.0 秒。对于所有测试用例,输入满足以下范围:

  • $1 \le N, E \le 3 \times 10^5$
  • $1 \le A_i \neq B_i \le N$
  • $1 \le R_i \le N$
  • 仅使用 $R$ 中的道路即可在任意两个路口之间通行。

你的程序将在满足以下限制的输入实例上进行测试:

子任务 分值 附加限制
1 8 $1 \le N, E \le 9$
2 19 $1 \le N, E \le 10^3$
3 9 $A_{R_i} = 1, B_{R_i} = i + 1$,即 $R$ 是一颗星形树。
4 10 $A_{R_i} = i, B_{R_i} = i + 1$,即 $R$ 是一条链。
5 10 $E = N, A_i = i, B_i = i \pmod N + 1$
6 12 $E = N$
7 32 -

样例

样例输入 1

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

样例输出 1

3 4 5 1 2

说明 1

上图显示了道路和路口(见输入)。边上的数字是你分配的权重(见输出)。高亮显示的道路被 Peanut 选中,这等同于输入中的 $R$。因此,输出是正确的。

样例输入 2

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

样例输出 2

1 4 2 3

说明 2

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.