时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld
题目描述
题目背景:
wzh有很多珍珠,每个珍珠都会有一个颜色(可以用数字来表示颜色),这些珍珠按顺序放置在了桌面上。同时wzh可以施展神奇的魔法,每次可以使得一个区间的的两种颜色的珍珠颜色互换,wzh不停地施展着魔法,使得某种颜色的珍珠个数在不断变化。wzh希望能够在不断施展魔法的同时知道某个区间的某种颜色的珍珠个数。
题目描述:
给你珍珠的颜色总数

以及一个长度位

的数组

,

表示第

个位置的珍珠颜色为

。
wzh可以对数组进行操作。
操作1:给定一个区间
![[l,r],x,y](https://www.nowcoder.com/equation?tex=%5Bl%2Cr%5D%2Cx%2Cy)
表示将在区间
![[l,r]](https://www.nowcoder.com/equation?tex=%5Bl%2Cr%5D)
内颜色为

的珍珠颜色互换。
操作2:给定一个区间
![[l,r],k](https://www.nowcoder.com/equation?tex=%5Bl%2Cr%5D%2Ck)
表示询问在区间
![[l,r]](https://www.nowcoder.com/equation?tex=%5Bl%2Cr%5D)
内颜色为

的珍珠数量。
wzh会进行

次询问,对于每个操作

你必须输出对应的答案。
输入描述:
第一行输入两个整数
)
,
)
表示数组大小以及颜色的个数;
第二行输入

个整数
)
,表示每个珍珠一开始的颜色;
第三行输入一个整数
)
,表示询问次数;
接下来

行每行先输入一个整数

,表示操作的类型,对于操作

接着输入一行
)
四个整数;对于操作

接着输入一行
)
三个整数
输出描述:
对于每个操作

输出对应的答案
示例1
输入
复制
6 5
1 1 4 5 1 4
3
2
1 6 1
1
1 6 4 1
2
1 6 1
说明
一开始珍珠颜色为{1,1,4,5,1,4},所以区间[1,6]中1的个数为3;
进行操作1后珍珠颜色变为{4,4,1,5,4,1},所以[1,6]中1的个数为2。