#5019. Second Largest Query

0

Second Largest Query

Second Largest Query

题目描述

你被给定了一个长度为 NN 的序列 A=(A1,A2,…,AN)A = (A_1, A_2, \ldots, A_N)。 按给定顺序处理 QQ 个查询。每个查询为以下两种类型之一:

类型 11:以 1 p x1\ p\ x 的形式给出。将 ApA_p 的值更改为 xx。 类型 22:以 2 l r2\ l\ r 的形式给出。输出 第二大值出现的次数 在 (Al,Al+1,…,Ar)(A_l, A_{l+1}, \ldots, A_r) 中。更精确地,输出满足 l≤i≤rl \leq i \leq r 且在 Al,Al+1,…,ArA_l, A_{l+1}, \ldots, A_r 中恰好存在一个与 AiA_i 不同且大于 AiA_i 的值的整数 ii 的个数。

输入格式

输入按以下格式从标准输入给出: NN QQ A1A_1 A2A_2 …\ldots ANA_N query1\text{query}_{1} ⋮\vdots queryQ\text{query}_{Q}

这里,queryi\text{query}_{i} 是第 ii 个查询,并以以下格式之一给出: 11 pp xx

22 ll rr

输出格式

设 qq 为类型-22 查询的数量。输出 qq 行。 第 ii 行应包含第 ii 个类型-22 查询的答案。

5 4
3 3 1 4 5
2 1 3
2 5 5
1 3 3
2 2 4
1
0
2
1 1
1000000000
2 1 1
0
8 9
2 4 4 3 9 1 1 2
1 5 4
2 7 7
2 2 6
1 4 4
2 2 5
2 2 7
1 1 1
1 8 1
2 1 8
0
1
0
2
4

提示

1≤N,Q≤2×1051 \leq N, Q \leq 2 \times 10^5 1≤Ai≤1091 \leq A_i \leq 10^9 对于类型-11 查询,1≤p≤N1 \leq p \leq N。 对于类型-11 查询,1≤x≤1091 \leq x \leq 10^9。 对于类型-22 查询,1≤l≤r≤N1 \leq l \leq r \leq N。 至少存在一个类型-22 查询。 所有输入值均为整数。最初,A=(3,3,1,4,5)A = (3, 3, 1, 4, 5)。 对于第一个查询,(3,3,1)(3, 3, 1) 中的第二大值是 11,在 3,3,13, 3, 1 中出现一次,因此输出 11。 对于第二个查询,(5)(5) 中不存在第二大值,因此输出 00。 第三个查询使得 A=(3,3,3,4,5)A = (3, 3, 3, 4, 5)。 对于第四个查询,(3,3,4)(3, 3, 4) 中的第二大值是 33,在 3,3,43, 3, 4 中出现两次,因此输出 22。

标签: AtCoder|abc343F

来源

AtCoder|abc343F