#AT2059. G - Range Sort Query

G - Range Sort Query

当前没有测试数据。

G - 区间排序查询

分数:$600$ 分

问题描述

给定一个排列 $P=(P_1,P_2,\ldots,P_N)$,以及一个整数 $X$。

此外,给定 $Q$ 个查询。 第 $i$ 个查询表示为一个三元组 $(C_i,L_i,R_i)$,每个查询对排列 $P$ 执行以下操作。

  • 如果 $C_i=1$:对 $P_{L_i},P_{L_i+1},\ldots,P_{R_i}$ 排序,按升序排列。
  • 如果 $C_i=2$:对 $P_{L_i},P_{L_i+1},\ldots,P_{R_i}$ 排序,按降序排列。

在按给定顺序执行了所有查询之后的最终排列 $P$ 中,找到满足 $P_i=X$ 的 $i$。

约束

  • $1 \leq N \leq 2\times 10^5$
  • $1 \leq Q \leq 2\times 10^5$
  • $1 \leq X \leq N$
  • $(P_1,P_2,\ldots,P_N)$ 是 $(1,2,\ldots,N)$ 的一个排列。
  • $1 \leq C_i \leq 2$
  • $1 \leq L_i \leq R_i \leq N$
  • 输入中的所有值均为整数。

输入

输入从标准输入中按以下格式给出:

NN QQ XX

P1P_1 P2P_2 \ldots PNP_N

C1C_1 L1L_1 R1R_1

C2C_2 L2L_2 R2R_2

\vdots

CQC_Q LQL_Q RQR_Q

输出

输出结果。


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

初始排列为 $P=[1,4,5,2,3]$。 查询将其变为:

  • 第 $1$ 个查询将第 $3$ 到第 $5$ 个元素按升序排列,得到 $P=[1,4,2,3,5]$。
  • 第 $2$ 个查询将第 $1$ 到第 $3$ 个元素按降序排列,得到 $P=[4,2,1,3,5]$。

在最终的排列中,有 $P_3=1$,因此应该输出 $3$。


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

最终排列为 $P=[1,2,6,5,7,4,3]$。