U300698 【颜色均摊算法模板】区间计数

题目背景

多简单的一道题啊!

题目描述

维护一个长为 $n$ 的序列 $a_i$,有 $m$ 次操作。 1. 将区间 $[l,r]$ 的值修改为 $x$。 2. 询问区间 $[l,r]$ 出现了多少种不同的数,也就是说同一个数出现多次只算一个。

输入格式

第一行两个整数 $n,m$。 第二行 $n$ 个整数表示 $a_i$。 后面 $m$ 行每行为 $1\ l\ r\ x$ 或者 $2\ l\ r$ ,分别表示修改和询问。

输出格式

对于每个询问,输出一个数表示答案。 不同答案之间以换行为分隔符。

说明/提示

保证所有数据随机生成。 倒数第二组测试数据可能略微卡常,请开启O2优化以确保颜色均摊算法能够正常通过! # 数据规模 $1\leq n , m \leq 5\times10^5$。 $1\leq a_i,x\leq 10^9$。 $1\leq l \leq r \leq n$。