A75420.[GESP202506 八级] 树上旅行
普及+/提高
GESP
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
给定一棵有 n 个结点的有根树,结点依次以 1,2,…,n 编号,其中根结点的编号为 1。
小 A 计划在这棵有根树上进行 q 次旅行。在第 i 次旅行中,小 A 首先会选定结点 si 作为起点,并移动若干次。移动分为以下两种:
-
移动至当前结点的父结点。特殊地,如果当前位置于根结点,则不进行移动。
-
移动至当前结点的所有子结点中编号最小的结点。特殊地,如果当前位置于叶子结点,则不进行移动。
由于移动次数可能很大,对于第 i 次旅行,旅行中的移动将以 ki 不为零的整数构成的序列 ai,1,ai,2,…,ai,k 表示。对于 ai,j,若 ai,j>0 则代表进行 ai,j 次第一种移动;若 ai,j<0 则代表进行 −ai,j 次第二种移动。根据给出的序列从左至右完成所有移动后,小 A 所在的结点即是旅行的终点。
给定每次旅行的起点与移动序列,请你求出旅行终点的结点编号。
输入格式
第一行,两个正整数n,q,分别表示有根树的结点数量,以及旅行次数。
第二行,n−1个整数p2,p3,…,pn,其中pi表示结点 i 的父结点编号。
接下来 2q 行中的第2i−1行(1≤i≤q)包含两个正整数si,ki,分别表示第 i 次旅行的起点编号,以及移动序列的长度。第2i行包含ki个整数ai,1,ai,2,…,ai,k,表示移动序列。
输出格式
输出共 q 行,第 i 行包含一个整数,表示第 i 次旅行终点的结点编号。
输入输出样例
输入#1
5 4 1 1 2 2 3 3 1 -1 -1 2 5 1 -1 1 -1 1 5 8 1 1 1 -1 -1 -1 -1 -1 5 3 -1 -1 1
输出#1
4 1 4 2
输入#2
8 3 5 4 2 1 3 6 6 8 1 8 8 2 8 -8 8 3 8 -8 8
输出#2
1 7 1
说明/提示
数据范围
子任务编号 | 测试点占比 | n | q | ∑ki | 特殊性质 |
---|---|---|---|---|---|
1 | 20% | ≤100 | ≤100 | ≤1000 | 保证aij为 1 或−1 |
2 | 20% | ≤104 | ≤104 | ≤4×104 | 仅包含第一种移动 |
3 | 20% | ≤104 | ≤104 | ≤4×104 | 仅包含第二种移动 |
4 | 40% | ≤105 | ≤2×104 | ≤105 | - |
对于所有测试点,保证1≤n≤105,1≤q≤2×104,1≤pi≤n,1≤si≤n,ki≥1且∑ki≤105,1≤∣aij∣≤n。