100 #lg3939. C63 【可持久化线段树】区间x个数查询+带修改 [数颜色]

C63 【可持久化线段树】区间x个数查询+带修改 [数颜色]

P3939 数颜色

题目描述

nn 个正整数aia_i

mm 次操作,每次操作为以下两种中的一种:

  • 1 lj rj cj1\ l_j\ r_j\ c_j” :询问在区间 [lj,rj][l_j,r_j] 里有多少个值为 cjc_j 的数;

  • 2 xj2\ x_j”: xjx_jxj+1x_j+1 两位置的值交换。

输入格式

第一行两个正整数 n m (1n,m3×105)n \ m \ (1 \le n,m \le 3 \times 10^5)

下来 nn 个正整数ai (1ain)a_i \ (1 \le a_i \le n)

下来 mm 行,每行为以下两种中的一种:

  • 1 lj rj cj1\ l_j\ r_j\ c_j

  • 2 xj2\ x_j

输出格式

对于每个 1 操作,输出一行一个正整数,表示答案。

输入输出样例 #1

输入 #1

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

输出 #1

1 
2 
2 
3

大样例