#4783. [GESP202506八级] 树上旅行

[GESP202506八级] 树上旅行

当前没有测试数据。

题目描述

给定一棵有 n n 个结点的有根树,结点依次以 1,2,,n 1, 2, \ldots, n 编号,其中根结点的编号为 1。

小 A 计划在这棵有根树上进行 q q 次旅行。在第 i i 次旅行中,小 A 首先会选定结点 si s_i 作为起点,并移动若干次。移动分为以下两种:

  1. 移动至当前结点的父结点。特殊地,如果当前位置根结点,则不进行移动。
  2. 移动至当前结点的所有子结点中编号最小的结点。特殊地,如果当前位置叶子结点,则不进行移动。

由于移动次数可能很大,对于第 i i 次旅行,旅行中的移动将以 ki k_i 个不为零的整数构成的序列 ai,1,ai,2,,ai,k a_{i,1}, a_{i,2}, \ldots, a_{i,k} 表示。对于 ai,j a_{i,j}

  • ai,j>0 a_{i,j} > 0 ,则代表进行 ai,j a_{i,j} 次第一种移动;
  • ai,j<0 a_{i,j} < 0 ,则代表进行 ai,j -a_{i,j} 次第二种移动。

根据给出的序列从左至右完成所有移动后,小 A 所在的结点即是旅行的终点。

给定每次旅行的起点与移动序列,请你求出旅行终点的结点编号。

输入格式

第一行,两个正整数 n,q n, q ,分别表示有根树的结点数量,以及旅行次数。

第二行,n1 n-1 个整数 p2,p3,,pn p_2, p_3, \ldots, p_n ,其中 pi p_i 表示结点 i i 的父结点编号。

接下来 2q 2q 行中的第 2i1 2i-1 行(1iq 1 \leq i \leq q )包含两个正整数 si,ki s_i, k_i ,分别表示第 i i 次旅行的起点编号,以及移动序列的长度。第 2i 2i 行包含 ki k_i 个整数 ai,1,ai,2,,ai,k a_{i,1}, a_{i,2}, \ldots, a_{i,k} ,表示移动序列。

输出格式

输出共有 q q 行,第 i i 行包含一个整数,表示第 i i 次旅行终点的结点编号。

5 4
1 1 2
3 3
1 -1 -1
2 2
5 2
1 -1 -1 1
5 1
1 1 -1 -1
5 3
-1 -1 1
4
1
4
2
8 3
5 4 2 1 3 6 6
8 1
8
8 2
8 -8
8 3
-8 8
1
7
1

数据范围

子任务编号 测试点占比 nn qq ki\sum k_i 特殊性质
1 20%20\% 100\le100 1000\le1000 保证 ai,ja_{i,j}111-1
2 104\le10^4 104\le10^4 4×104\le4\times 10^4 仅包含第一种移动
3 105\le10^5 4×104\le4\times 10^4 仅包含第二种移动
4 40%40\% 105\le10^5 2×104\le2\times 10^4 105\le10^5

对于所有测试点,保证:

  • 1n1051 \leq n \leq 10^5
  • 1q2×1041 \leq q \leq 2 \times 10^4
  • 1pin1 \leq p_i \leq n
  • 1sin1 \leq s_i \leq n
  • ki1k_i \geq 1ki105\sum k_i \leq 10^5
  • 1ai,jn1 \leq |a_{i,j}| \leq n