#P7172. [COCI 2020/2021 #3] Specijacija
[COCI 2020/2021 #3] Specijacija
Description
给定一个正整数 和一个满足 的正整数序列 。
该序列参数化了一棵包含 个节点的树。该树包括 层,每层分别包含 个节点,如图所示:

它由 参数化而来。
第 层包含节点 。节点 有两个孩子,而其他同层的节点都只有一个孩子。在每层中,按编号从小到大的顺序为每个点分配孩子,优先选择当前编号最小且未被分配的下层节点。
请回答 个询问,求 的最大公共祖先,即既是 的祖先,又是 的祖先且编号最大的节点。
Input Format
第一行包含三个整数 ,分别表示参数的数量、询问次数和用来决定节点编号的参数。
第二行输入一个长度为 的序列 (其中对于每一个数 有 )。
接下来的 行中的第 行包含两个整数 和 ($1 \le \tilde x_i, \tilde y_i \le \frac{(n+1)(n+2)}{2}$),用来决定第 个询问涉及节点的编号。
设 为第 次询问的结果,规定 。第 次询问涉及节点的编号为:
$$x_i=[(\tilde x_i-1+t \times z_{i-1}) \bmod \frac{(n+1)(n+2)}{2}]+1$$$$y_i=[(\tilde y_i-1+t \times z_{i-1}) \bmod \frac{(n+1)(n+2)}{2}]+1$$注:当参数 时,满足 ,。当 时,询问涉及节点的编号应通过先前的答案来决定。
Output Format
输出共 行,其中第 行,输出 和 的最大公共祖先。
3 5 0
1 2 6
7 10
8 5
6 2
9 10
2 3
1
5
1
6
1
3 5 1
1 2 6
7 10
8 5
6 2
9 10
2 3
1
6
2
1
1
Hint
【样例解释 #1 / #2】
两个样例所表示的树的形状在题目描述的图中已经呈现。
第二个样例中各个询问涉及的节点的编号:
,;
,;
,;
,;
,。
【数据范围】
| Subtask | 分值 | 数据范围及约定 |
|---|---|---|
对于 的数据,,。
【说明】
本题分值按 COCI 原题设置,满分 。
题目译自 COCI2020-2021 CONTEST #4 T5 Specijacija。
京公网安备 11011102002149号