#L4748. 「eJOI2024」古奥尔海

    ID: 4538 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>数据结构线段树线段树状态转移函数复合函数式线段树区间查询与单点更新

「eJOI2024」古奥尔海

题目描述

题目译自 eJOI2024 Day1 T3. Old Orhei

古奥尔海 (Orheiul Vechi) 是位于拉乌河狭窄河湾上的一个自然和历史遗址。这里有 NN 处考古遗址和 MM 条单向道路连接这些遗址。每条道路的编号唯一,按输入顺序 11MM 给出。

最近,当地科学家发现了一个由库库特尼-特里皮利亚文明留下的数组。该数组由 TT11MM 之间的整数组成。为了弄清楚这个数组的神秘含义,新来的实习生将被指导遵循以下步骤:

  • 一开始,实习生会在某个考古遗址。
  • 其他科学家开始向他依次广播数组的一个连续子数组(先广播子数组的第一个元素,然后是第二个元素,依此类推)。
  • 实习生根据以下规则更改其位置:
    • 如果实习生当前的位置等于相应道路的起点,实习生将通过该道路前往相应道路的终点。
    • 否则,实习生什么也不做,留在当前位置。

借第八届欧洲青少年信息学奥林匹克竞赛的机会,当地科学家请你帮助他们执行以下 QQ 个操作:

  • 1 L R S - 科学家们想知道如果实习生最初位于第 SS 处遗址,并且只广播初始数组中从编号 LL 开始到 RR 结束的连续子数组,实习生的最终位置会是什么。
  • 2 i K - 科学家们将数组 AA 的第 ii 个元素修改为 KK。更改是永久的。

你的任务是正确回答所有类型 11 的询问。


输入格式

第一行包含两个用空格分隔的整数 NNMM,分别表示考古遗址和单向道路的数量。

接下来的 MM 行包含道路的描述。具体来说,第 ii 行将包含两个用空格分隔的数字,表示第 ii 条道路从 XiX_{i} 开始,到 YiY_{i} 结束。可能存在道路 Xi=YiX_{i}=Y_{i} 以及成对的道路 Xi=XjX_{i}=X_{j}, Yi=YjY_{i}=Y_{j}iji \neq j

接下来的第 TT 行包含一个整数 TT,表示发现的数组的长度。

接下来的一行包含 TT 个用空格分隔的整数 A1,A2ATA_{1}, A_{2} \ldots A_{T},表示数组元素。

接下来的一行包含一个整数 QQ,表示操作的数量。

接下来的 QQ 行每行描述了一个操作:

  • 1 L R S 表示类型 11 的询问。
  • 2 i K 表示类型 22 的操作。

输出格式

对于每个类型 11 的查询,输出一行表示答案。


样例 1

输入

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

输出

1
1
2

解释
第一个查询的过程:

  1. 实习生从遗址 22 开始,广播的子数组是 [4,2,5][4,2,5]

  2. 广播数字 44:可以通过编号为 44 的道路,实习生移动到遗址 55

  3. 广播数字 22:编号为 22 的道路无法使用,实习生保持在同一位置。

  4. 广播数字 55:可以通过相应的道路,实习生移动到遗址 11

  5. 最终答案:11


样例 2

输入

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

输出

2
1
3

样例 3

输入

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

输出

1
2

数据范围与提示

对于所有输入数据,满足:

  • 1N501 \leq N \leq 50
  • 1M,T,Q1051 \leq M, T, Q \leq 10^{5}
  • 1Xi,YiN1 \leq X_{i}, Y_{i} \leq N
  • 1AiM1 \leq A_{i} \leq M
  • 1LRT1 \leq L \leq R \leq T
  • 1SN1 \leq S \leq N
  • 1iT1 \leq i \leq T
  • 1KM1 \leq K \leq M

详细子任务附加限制及分值如下表所示。

子任务 分值 附加限制
1 7 Q=1Q=1(只有一个类型 11 的查询)
2 16 N=2N=2
3 17 M=N1M=N-1, Xi=iX_{i}=i, Yi=i+1Y_{i}=i+1
4 31 没有类型 22 的查询。T3104T \leq 3 \cdot 10^{4}
5 29 无附加限制