P3158【nodgd又来造水题】赏花升级版 | HH的项链升级版 | ||
|
问题描述
【醒目】做这道题之前需要先看看NKOJ2387赏花这道题。
update2020: 还要先去看看2463,3703,4374
题意简单粗暴:
一个长度为n的序列{A1,A2,...,An},m次操作:
1.C k t:把Ak改成t;
2.A l r:提问Al,...,Ar有多少个不同的数。
为了防止离线算法,k,t,l,r都要异或lastans才是真正的操作,lastans一开始等于0。
输入格式
第一行两个数n,m,表示序列长度和操作次数。
第二行n个数,表示初始序列。
接下来m行,每行一个字符两个数,表示一次操作。
输出格式
每次提问输出一行,表示答案。
样例输入
5 5
1 2 3 4 5
A 2 5
C 0 6
A 5 0
A 0 7
A 0 7
样例输出
4
3
2
3
提示
样例解释:
解密后是这样的:
5 5
1 2 3 4 5
A 2 5
C 4 2
A 1 4
A 3 4
A 2 5
数据范围:
1<=n<=200000
1<=m<=200000
1<=每个数<=n
两种操作几乎各占一半