QOJ.ac

QOJ

Límite de tiempo: 2 s Límite de memoria: 2048 MB Puntuación total: 100

#2228. 面包坑

Estadísticas

一种新型的地下细菌有助于火星的地球化改造。这些细菌主要以普通面包为食,面包在火星表面大量烘烤,随后被投入一个专门建造的坑中。为了使面包均匀分布在地下,该坑由排列成树状结构的近乎垂直的隧道组成。每条隧道的尽头要么是一个装满细菌菌落的洞穴,要么是一个连接到一个或多个其他向下隧道的闸门。闸门是机械化的,每个闸门一次只保持一条向下隧道开启。当一个面包通过闸门落入一条向下隧道时,闸门会关闭该隧道,并为下一个到达的面包打开它所连接的另一条隧道。向下隧道的开启方式是循环的:当闸门关闭最后一条向下隧道时,它会再次打开最先开启的那条隧道。每个闸门中开启向下隧道的顺序是固定的。地表上最多有一个闸门。所有通过至少一条隧道的面包也会通过这个最顶层的闸门。上述方案的例外情况是,当最顶层的闸门因维护而完全关闭时,所有隧道都变得无法进入,面包留在地表。在这种情况下,出于形式上的原因,地表被视为一个洞穴,同时也是整个坑中唯一的节点。

当系统开始运行时,在投入任何面包之前,每个闸门中的第一条向下隧道都是开启的。

洞穴和闸门统称为节点,每个节点都由一个唯一的整数标记。

请确定每个面包在依次投入坑中后,分别落入了哪个洞穴。

输入格式

第一行包含两个整数 $N, Q$ ($1 \le N, Q \le 3 \cdot 10^5$),分别表示坑中所有节点(闸门和洞穴)的数量以及投入坑中的面包数量。节点由整数 $0, 1, \dots, N-1$ 标记,地表闸门节点标记为 $0$。第二行包含 $N-1$ 个整数。该行第 $i$ 个整数的值是节点 $i$ 的前驱节点的标签。节点的前驱节点是指面包落入节点 $i$ 时所经过的最近的闸门。第二行输入还编码了每个闸门中开启向下隧道的顺序。当值 $X$ 出现在第 $j$ 个和第 $k$ 个位置且 $j < k$ 时,连接 $X$ 到 $j$ 的隧道会在连接 $X$ 到 $k$ 的隧道之前开启。

输出格式

输出 $Q$ 行。第 $i$ 行应包含第 $i$ 个投入坑中的面包所落入的洞穴的标签。

样例

样例输入 1

5 5
0 0 1 1

样例输出 1

3
2
4
2
3

样例输入 2

7 10
0 0 0 2 2 2

样例输出 2

1
4
3
1
5
3
1
6
3
1

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.