您正在欣赏 galgame 的 HS,然后游戏崩溃了,于是您只能做数据结构题了:
维护一个长为 $n$ 的序列 $a[i]$,有 $m$ 次操作。
将区间 $[l,r]$ 的值修改为 $x$。
询问区间 $[l,r]$ 出现了多少种不同的数。
也就是说同一个数出现多次只算一个。
第一行两个数$n,m$。
第二行 $n$ 个数表示 $a[i]$。
后面 $m$ 行每行为1 l r x或者2 l r,分别表示修改和询问。
1 l r x
2 l r
对于每个询问,输出一个数表示答案。
5 5 1 2 3 4 5 2 1 5 1 2 3 4 2 1 5 2 3 3 2 2 4
5 3 1 1
$n , m \le 100000 , 1 \le a[i] \le 1000000000$