AT_abc265_g.[ABC265G] 012 Inversion

省选/NOI-

通过率:0%

AC君温馨提醒

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

题目描述

给定一个长度为 NN 的数列 A=(A1,…,AN)A=(A_1,\ldots,A_N),其中每个元素都是 0,1,20,1,2 之一。
请依次处理 QQ 个查询。每个查询有以下两种类型之一:

  • 1 L R:输出数列 (AL,…,AR)(A_L,\ldots,A_R) 的逆序对数。
  • 2 L R S T U:对于满足 L≤i≤RL\leq i\leq R 的每个 ii,如果 Ai=0A_i=0 则替换为 SS,如果 Ai=1A_i=1 则替换为 TT,如果 Ai=2A_i=2 则替换为 UU。

逆序对数的定义如下:数列 B=(B1,…,BM)B=(B_1,\ldots,B_M) 的逆序对数是满足 1≤i<j≤M1\leq i<j\leq M 且 Bi>BjB_i>B_j 的整数对 (i,j)(i,j) 的个数。

输入格式

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

NN QQ A1A_1 A2A_2 …\ldots ANA_N Query1\rm Query_1 Query2\rm Query_2 ⋮\vdots QueryQ\rm Query_Q

其中,第 ii 个查询 Queryi\rm Query_i 按以下两种格式之一给出。

11 LL RR

22 LL RR SS TT UU

输出格式

请按顺序输出每个第 11 类查询的答案,每个答案占一行。

输入输出样例

  • 输入#1

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

    输出#1

    3
    4
  • 输入#2

    3 3
    0 1 2
    1 1 1
    2 1 3 0 0 0
    1 1 3

    输出#2

    0
    0

说明/提示

数据范围

  • 1≤N≤1051\leq N\leq 10^5
  • 0≤Ai≤20\leq A_i\leq 2
  • 1≤Q≤1051\leq Q\leq 10^5
  • 对于每个查询,1≤L≤R≤N1\leq L\leq R\leq N
  • 对于第 22 类查询,0≤S,T,U≤20\leq S,T,U\leq 2
  • 输入中的所有值均为整数

样例说明 1

初始时 A=(2,0,2,1,0)A=(2,0,2,1,0)。

  • 第 11 个查询时,(A2,A3,A4,A5)=(0,2,1,0)(A_2,A_3,A_4,A_5)=(0,2,1,0) 的逆序对数为 33。
  • 处理第 22 个查询后,A=(2,2,0,1,0)A=(2,2,0,1,0)。
  • 第 33 个查询时,(A2,A3,A4,A5)=(2,0,1,0)(A_2,A_3,A_4,A_5)=(2,0,1,0) 的逆序对数为 44。

由 ChatGPT 4.1 翻译

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

首页