2008. 数据合并系统

时间限制 1000 ms   内存限制 256 MB

W-34 接触到了一种数据合并系统。这个系统通过数据的标识码来识别数据,并且能将具有相关性的数据的标识码合并为相同的数。现在有 $n$ 个数据输入到系统中,同时系统设定好的工作常数为 $k$ 。开始工作后,系统会不断地执行以下操作:

  • 选择两个数 $l,r$ ,将所有识别码数值范围为 $[l,r]$ 的数据的识别码修改为 $j$ ,表示它们具有相关性;

W-34 对系统的工作过程产生了兴趣,他会在系统工作的过程中时不时地问你,有多少对数据间的识别码数值之和为 $k$ 。

输入数据

第一行三个整数 $n$,$q$,$k$ ,表示数据数量,事件总数和设定的工作常数。$\ 1\leq n\leq 10^5, $ $\ 1\leq q\leq 2\cdot 10^5, $ $\ 1\leq k \leq 10^6$

第二行 $n$ 个整数,代表每个数据的识别码 $a_i$。$0 \leq a_i \leq 10^6$

接下来 $q$ 行,按时间先后顺序每行表示一个事件。每行的格式形如 $1\ \ l\ \ r\ \ j\ $ 或 $2$ ,分别表示系统的一次操作或 W-34 的一次询问。$0\leq l \leq r \leq 10^6\ , \ 0\leq j \leq 10^6$

输出数据

对每个询问操作,输出一行一个整数表示问题的答案。

样例输入

复制
5 3 7
2 3 4 5 6
2
1 5 6 4
2 · · \n
 · · · · \n
 \n
 · · · \n
 \n

样例输出

复制
2
3 \n
 \n

样例说明

第一次查询时,有 $(1,4)$ 和 $(2,3)$ 两对满足要求。

第二次查询时,有 $(2,3)$ 、 $(2,4)$ 、 $(2,5)$ 三对满足要求。

提交

请先 登录

© 2024 FAQs Contact About