QOJ.ac

QOJ

Time Limit: 1.5 s Memory Limit: 64 MB Total points: 100

# 9086. 镜子里的昆虫

统计

维护一个长为 $n$ 的序列 $a_i$,有 $m$ 次操作。

  1. 将区间 $[l,r]$ 的值修改为 $x$。
  2. 询问区间 $[l,r]$ 出现了多少种不同的数,也就是说同一个数出现多次只算一个。

输入格式

第一行两个整数 $n,m$。

第二行 $n$ 个整数表示 $a_i$。

后面 $m$ 行每行为 $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

子任务

Idea:nzhtl1477,Solution:nzhtl1477,Code:nzhtl1477,Data:nzhtl1477

$1\leq n , m \leq 10^5$,$1\leq a_i\leq 10^9$。