A3873 「COI 2024」CERN

暂无评定 传统题 COI(克罗地亚) 上传者
时间限制4000ms
内存限制512MiB
通过 / 提交0/0

A3873「COI 2024」CERN

暂无评定 传统题 COI(克罗地亚) 上传者
时间限制4000ms
内存限制512MiB
通过 / 提交0/0

题目描述

译自 COI 2024 T1「CERN」

欧洲核子研究组织(CERN)是一个专注于核研究和粒子物理学的国际机构。CERN的粒子加速器系统被用于进行涉及粒子高速碰撞的实验。

我们考虑一个由 NN 个粒子组成的序列。每个粒子都由其类型 viv_{i} 定义,该类型由一个 11 到 NN 之间的正整数表示。

在最新的研究中,需要进行 QQ 次实验。在第 ii 次实验中,我们观察序列中从第 lil_{i} 个到第 rir_{i} (li<ri)(l_{i}<r_{i}) 个的所有粒子。在观察到的粒子中,我们可以选择任意两个不同类型的粒子,在加速器中使它们碰撞,这会导致两个粒子都被摧毁。只要观察到的粒子中还存在两种不同类型的粒子,我们就重复这个碰撞过程。实验结束的条件是:要么所有观察到的粒子都被摧毁,要么只剩下一些相同类型的粒子。当然,根据我们碰撞粒子的顺序,实验结束时可能会剩下不同类型的粒子。

由于粒子碰撞的成本不菲,你决定只在理论上进行实验。现在,对于每次实验,你感兴趣的是,存在多少种粒子类型,使得实验有可能以剩下该类型的粒子而告终。

输入格式

第一行包含两个正整数 NN 和 QQ,分别表示粒子的数量和实验的次数。

下一行包含一个由 NN 个数组成的序列 v1,…,vNv_{1}, \ldots, v_{N},代表粒子们的类型。

接下来的 QQ 行中,每一行都有一对正整数 lil_{i} 和 rir_{i} (1≤li<ri≤N)(1 \leq l_{i}<r_{i} \leq N),代表第 ii 次实验中观察粒子的区间。

输出格式

对于 QQ 次实验中的每一次,都在新的一行中输出所求的粒子类型数量。

11 5
2 4 2 3 4 4 3 1 4 4 4
1 4
2 8
6 9
8 10
8 11

1
4
1
1
1

数据范围与提示

对于所有输入数据,满足 2≤N≤500 0002 \leq N \leq 500\,000 且 1≤Q≤500 0001 \leq Q \leq 500\,000。

详细子任务附加限制及分值如下表所示:

子任务 分值 附加限制
11 1313 对于每个 i=1,…,Ni=1, \ldots, N,都有 vi≤10v_{i} \leq 10
22 1919 每种类型的粒子最多有两个
33 1717 N,Q≤2000N, Q \leq 2000
44 1919 N,Q≤100 000N, Q \leq 100\,000
55 3232 无附加限制