AT_abc343_f.[ABC343F] Second Largest Query

普及+/提高

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定一个长度为 NN 的数列 A=(A1,A2,…,AN)A = (A_1, A_2, \ldots, A_N)。

有 QQ 个查询,请按给定顺序依次处理。每个查询有以下两种类型之一:

  • 类型 11:以 1 p x 的形式给出。将 ApA_p 的值修改为 xx。
  • 类型 22:以 2 l r 的形式给出。输出区间 (Al,Al+1,…,Ar)(A_l, A_{l+1}, \ldots, A_r) 中第 22 大值的个数。更严格地说,输出满足 l≤i≤rl \leq i \leq r,且在 Al,Al+1,…,ArA_l, A_{l+1}, \ldots, A_r 中,恰好有 11 种比 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

输出格式

设类型 22 的查询有 qq 个,请输出 qq 行。第 ii 行输出第 ii 个类型 22 查询的答案。

输入输出样例

  • 输入#1

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

    输出#1

    1
    0
    2
  • 输入#2

    1 1
    1000000000
    2 1 1

    输出#2

    0
  • 输入#3

    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

    输出#3

    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 查询
  • 输入的所有值均为整数

样例解释 1

初始时,A=(3,3,1,4,5)A = (3, 3, 1, 4, 5)。第 11 个查询中,区间 (3,3,1)(3, 3, 1) 的第 22 大值为 11,在 3,3,13, 3, 1 中 11 出现了 11 次,因此输出 11。第 22 个查询中,区间 (5)(5) 没有第 22 大值,输出 00。第 33 个查询后,A=(3,3,3,4,5)A = (3, 3, 3, 4, 5)。第 44 个查询中,区间 (3,3,4)(3, 3, 4) 的第 22 大值为 33,在 3,3,43, 3, 4 中 33 出现了 22 次,因此输出 22。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页