AT_abc343_f [ABC343F] Second Largest Query
题目描述
给定一个长度为 $N$ 的数列 $A = (A_1, A_2, \ldots, A_N)$。
有 $Q$ 个查询,请按给定顺序依次处理。每个查询有以下两种类型之一:
- 类型 $1$:以 `1 p x` 的形式给出。将 $A_p$ 的值修改为 $x$。
- 类型 $2$:以 `2 l r` 的形式给出。输出区间 $(A_l, A_{l+1}, \ldots, A_r)$ 中第 $2$ 大值的**个数**。更严格地说,输出满足 $l \leq i \leq r$,且在 $A_l, A_{l+1}, \ldots, A_r$ 中,恰好有 $1$ 种比 $A_i$ 大的值的整数 $i$ 的个数。
输入格式
输入按以下格式从标准输入读入。
> $N$ $Q$ $A_1$ $A_2$ $\ldots$ $A_N$ $\text{query}_{1}$
> $\vdots$
> $\text{query}_{Q}$
其中,$\text{query}_i$ 表示第 $i$ 个查询,格式如下之一:
> $1$ $p$ $x$
> $2$ $l$ $r$
输出格式
设类型 $2$ 的查询有 $q$ 个,请输出 $q$ 行。第 $i$ 行输出第 $i$ 个类型 $2$ 查询的答案。
说明/提示
### 限制条件
- $1 \leq N, Q \leq 2 \times 10^5$
- $1 \leq A_i \leq 10^9$
- 对于类型 $1$ 查询,$1 \leq p \leq N$
- 对于类型 $1$ 查询,$1 \leq x \leq 10^9$
- 对于类型 $2$ 查询,$1 \leq l \leq r \leq N$
- 至少存在一个类型 $2$ 查询
- 输入的所有值均为整数
### 样例解释 1
初始时,$A = (3, 3, 1, 4, 5)$。第 $1$ 个查询中,区间 $(3, 3, 1)$ 的第 $2$ 大值为 $1$,在 $3, 3, 1$ 中 $1$ 出现了 $1$ 次,因此输出 $1$。第 $2$ 个查询中,区间 $(5)$ 没有第 $2$ 大值,输出 $0$。第 $3$ 个查询后,$A = (3, 3, 3, 4, 5)$。第 $4$ 个查询中,区间 $(3, 3, 4)$ 的第 $2$ 大值为 $3$,在 $3, 3, 4$ 中 $3$ 出现了 $2$ 次,因此输出 $2$。
由 ChatGPT 4.1 翻译