#P1109. 只此一次

    ID: 121 传统题 1000ms 256MiB 尝试: 0 已通过: 0难度: 提高 ← 上一题 下一题 → 随机一题 上传者: 标签 数据结构 离线 树状数组 前缀和
显示设置

只此一次

题目背景

检定站的记录员把每天的过检编号抄成一行,编号可以重复。上级下来若干次核查,每次圈出其中连续的一段,只想知道这段记录里"只出现过一次"的编号有多少个——出现两次以上的编号一律不管,没出现过的当然也不算。

题目描述

给定一个长度为 nn 的整数序列 a1,a2,…,ana_1, a_2, \dots, a_n,以及 qq 次询问。每次询问给出两个整数 l,rl, r(1≤l≤r≤n1 \le l \le r \le n),请回答:在 al,al+1,…,ara_l, a_{l+1}, \dots, a_r 这些数中,恰好出现一次的不同数值有多少个。

输入格式

第一行一个整数 nn。

第二行 nn 个整数 a1,a2,…,ana_1, a_2, \dots, a_n。

第三行一个整数 qq。

接下来 qq 行,每行两个整数 l,rl, r,表示一次询问。

输出格式

输出 qq 行,每行一个整数,依次表示每次询问的答案。

输入输出样例 #1

输入 #1

5
1 2 2 3 1
3
1 5
1 2
2 3

输出 #1

1
2
0

输入输出样例 #2

输入 #2

1
7
1
1 1

输出 #2

1

输入输出样例 #3

输入 #3

4
2 2 2 2
3
1 4
2 3
1 1

输出 #3

0
0
1

说明

样例解释

样例 1:区间 [1,5][1,5] 中 11 出现 22 次、22 出现 22 次、33 出现 11 次,恰好出现一次的不同数值只有 33,答案为 11;区间 [1,2][1,2] 中 11 与 22 各出现一次,答案为 22;区间 [2,3][2,3] 中 22 出现两次,答案为 00。

样例 2:区间只有 77 一个数,出现 11 次,答案为 11。

样例 3:区间 [1,4][1,4] 与 [2,3][2,3] 中数值 22 都出现两次以上,答案为 00;区间 [1,1][1,1] 中只有单独一个 22,出现一次,答案为 11。

数据范围

  • 对于 30%30\% 的数据,1≤n,q≤1001 \le n, q \le 100;
  • 对于 60%60\% 的数据,1≤n,q≤50001 \le n, q \le 5000;
  • 对于 100%100\% 的数据,1≤n,q≤2×1051 \le n, q \le 2 \times 10^{5},1≤ai≤1091 \le a_i \le 10^{9}。