#3611. Range Sort Query

0

Range Sort Query

Range Sort Query

题目描述

给定一个排列 P=(P1,P2,…,PN)P=(P_1,P_2,\ldots,P_N),它是 1,2,…,N1,2,\ldots,N 的一个置换,以及一个整数 XX。 另外,给出 QQ 个查询。 第 ii 个查询表示为三元组 (Ci,Li,Ri)(C_i,L_i,R_i)。每个查询对排列 PP 做如下操作。

如果 Ci=1C_i=1:将 PLi,PLi+1,…,PRiP_{L_i},P_{L_i+1},\ldots,P_{R_i} 按升序排序。 如果 Ci=2C_i=2:将 PLi,PLi+1,…,PRiP_{L_i},P_{L_i+1},\ldots,P_{R_i} 按降序排序。

在按给定顺序执行所有查询之后的最终排列 PP 中,找出使得 Pi=XP_i=X 的下标 ii。

输入格式

输入按下列格式由标准输入给出: 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
7 3 3
7 5 3 1 2 4 6
1 1 7
2 3 6
2 5 7
7

提示

1≤N≤2×1051 \leq N \leq 2\times 10^5 1≤Q≤2×1051 \leq Q \leq 2\times 10^5 1≤X≤N1 \leq X \leq N (P1,P2,…,PN)(P_1,P_2,\ldots,P_N) 是 (1,2,…,N)(1,2,\ldots,N) 的一个置换。 1≤Ci≤21 \leq C_i \leq 2 1≤Li≤Ri≤N1 \leq L_i \leq R_i \leq N 输入中的所有数值都是整数。最初,排列为 P=[1,4,5,2,3]P=[1,4,5,2,3]。 查询按如下方式改变它。

第 11 个查询将第 33 到第 55 个元素按升序排序,得到 P=[1,4,2,3,5]P=[1,4,2,3,5]。 第 22 个查询将第 11 到第 33 个元素按降序排序,得到 P=[4,2,1,3,5]P=[4,2,1,3,5]。

在最终排列中,P3=1P_3=1,所以应输出 33。
最终的排列是 P=[1,2,6,5,7,4,3]P=[1,2,6,5,7,4,3]。

标签: AtCoder|abc237G

来源

AtCoder|abc237G