#ABC265G. 012 Inversion

012 Inversion

012 Inversion

  • 时间限制:5 秒
  • 内存限制:512 MiB

题目描述

给定长度为 NN 的序列 AA,每个元素均为 0,1,20,1,2。依次处理 QQ 个操作:

  • 1 L R:输出子序列 AL,,ARA_L,\ldots,A_R 的逆序对数。
  • 2 L R S T U:对区间 [L,R][L,R] 中的每个元素同时进行替换:00 替换为 SS11 替换为 TT22 替换为 UU

逆序对是满足 Li<jRL\le i<j\le RAi>AjA_i>A_j 的下标对 (i,j)(i,j)

输入格式

第一行包含两个整数 N,QN,Q

第二行包含 NN 个整数 A1,,ANA_1,\ldots,A_N

接下来 QQ 行,每行是一条上述格式的操作。

输出格式

对每个第一类操作输出一行答案。

样例输入 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

数据范围

对于全部数据,1N,Q1051\le N,Q\le10^50Ai,S,T,U20\le A_i,S,T,U\le21LRN1\le L\le R\le N

子任务编号 分值 特殊限制
1 20 N,Q200N,Q\le200
2 不存在第二类操作
3 N,Q5000N,Q\le5000
4 40 无特殊限制