P1067象群回响簿freq

时间限制 2000 ms内存限制 512 MiB通过率 —
显示算法标签莫队 · 树状数组 · 离线算法

【题目背景】

CodeDay 在调试一则象形魔法时,意外变成了小象。恢复魔法需要借助象群留在回声长廊中的共鸣,他只好循着长廊逐段聆听,并将每次听见的结果写入《象群回响簿》。

【题目描述】

回声长廊中依次排列着 nn 块鸣石,第 ii 块鸣石上刻着一个正整数 aia_i。CodeDay 每次会聆听一段连续的鸣石,其中包含两端。对于一个正整数 xx,若这段长廊中恰好有 xx 块鸣石刻着数字 xx,便称 xx 是这段长廊的一个回响数字。同一个数字只会作为一个回响数字被记录一次。

为了让恢复魔法所需的共鸣保持稳定,CodeDay 需要完成 mm 次聆听。第 jj 次聆听从第 ljl_j 块鸣石开始,到第 rjr_j 块鸣石结束。请你依次求出其中不同回响数字的数量。

【输入格式】

从文件 freq.in\textbf{\textit{freq.in}} 中读入数据。

本题包含多组测试数据。

输入的第一行包含两个非负整数 c,Tc,T,分别表示测试点编号与测试数据的组数。c=0c=0 表示该测试点为样例。

对于每组测试数据:

第一行包含两个整数 n,mn,m,分别表示鸣石数量与聆听次数。

第二行包含 nn 个正整数 a1,a2,,ana_1,a_2,\cdots,a_n,其中 aia_i 表示第 ii 块鸣石上刻着的数字。

接下来 mm 行,第 jj 行包含两个整数 lj,rjl_j,r_j,表示第 jj 次聆听的起点与终点。

【输出格式】

输出到文件 freq.out\textbf{\textit{freq.out}} 中。

对于每组测试数据,输出 mm 行,每行一个整数,依次表示每次聆听经过的长廊中回响数字的数量。

【样例 1 输入】

0 17 23 1 2 2 3 3 71 73 4

【样例 1 输出】

31

【说明/提示】

【样例 1 解释】

第一次聆听经过全部 77 块鸣石,其中数字 1,2,31,2,3 分别出现 1,2,31,2,3 次,因此共有 33回响数字。第二次聆听只经过第 3,43,4 块鸣石,只有数字 22 恰好出现 22 次,因此答案为 11

【样例 2】

见选手目录下的 freq/freq2.in\textbf{\textit{freq/freq2.in}}freq/freq2.ans\textbf{\textit{freq/freq2.ans}}

该组样例符合测试点 141\sim 4 的数据范围。

【样例 3】

见选手目录下的 freq/freq3.in\textbf{\textit{freq/freq3.in}}freq/freq3.ans\textbf{\textit{freq/freq3.ans}}

该组样例符合测试点 585\sim 8 的数据范围。

【样例 4】

见选手目录下的 freq/freq4.in\textbf{\textit{freq/freq4.in}}freq/freq4.ans\textbf{\textit{freq/freq4.ans}}

该组样例符合测试点 9129\sim 12 的数据范围。

【样例 5】

见选手目录下的 freq/freq5.in\textbf{\textit{freq/freq5.in}}freq/freq5.ans\textbf{\textit{freq/freq5.ans}}

该组样例符合测试点 132013\sim 20 的数据范围。

【数据范围】

对于 100%100\% 的数据,保证 1T1001\leq T\leq 1001n,m1051\leq n,m\leq 10^51ai1091\leq a_i\leq 10^91ljrjn1\leq l_j\leq r_j\leq n。对于同一个测试点,保证 n105\sum n\leq 10^5m105\sum m\leq 10^5

测试点编号TTn\sum nm\sum maia_irjlj+1r_j-l_j+1特殊性质
141\sim 4100\leq 100103\leq 10^3103\leq 10^3109\leq 10^9n\leq n
585\sim 8100\leq 100105\leq 10^5105\leq 10^520\leq 20n\leq nA
9129\sim 12100\leq 100105\leq 10^5105\leq 10^5109\leq 10^9100\leq 100B
132013\sim 20100\leq 100105\leq 10^5105\leq 10^5109\leq 10^9n\leq n

特殊性质 A:对于每组测试数据,均有 ai20a_i\leq 20

特殊性质 B:对于每个询问,均有 rjlj+1100r_j-l_j+1\leq 100

【题解】

已公开 1 篇题解,官方题解会优先显示。

查看题解