#aBC242Gid296. [ABC242G] Range Pairing Query

[ABC242G] Range Pairing Query

AT_abc242_g [ABC242G] Range Pairing Query

题目描述

1,2,,N1,2,\dots,N 号的人排成一排,第 ii 号人穿着颜色为 AiA_i 的衣服。

请你回答 QQ 个如下形式的查询:

  • 给定整数 l,rl,r。只考虑第 l,l+1,,rl,l+1,\dots,r 号人,最多可以组成多少对穿着相同颜色衣服的两人组?

输入格式

输入按以下格式从标准输入给出。

NN A1A_1 A2A_2 \dots ANA_N QQ Query1\mathrm{Query}_1 Query2\mathrm{Query}_2 \vdots QueryQ\mathrm{Query}_Q

其中,Queryi\mathrm{Query}_i 表示第 ii 个查询。

每个查询的格式如下:

ll rr

输出格式

输出共 QQ 行。
ii 行输出第 ii 个查询的答案,答案为一个整数。
由于输入输出数据量较大,建议使用高效的输入输出方法。

输入输出样例 #1

输入 #1

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

输出 #1

2
2
1
0
3
4

说明/提示

数据范围

  • 所有输入均为整数。
  • 1N1051\le N\le 10^5
  • 1Q1061\le Q\le 10^6
  • 1AiN1\le A_i\le N
  • 对于每个查询,1lrN1\le l\le r\le N

样例解释 1

A=(1,2,3,2,3,1,3,1,2,3)A=(1,2,3,2,3,1,3,1,2,3)。该输入包含 66 个查询。第 11 个查询为 (l,r)=(6,10)(l,r)=(6,10)。可以将第 66 号人与第 88 号人配对,第 77 号人与第 1010 号人配对,这样可以组成 22 对穿着相同颜色衣服的两人组。第 22 个查询为 (l,r)=(5,8)(l,r)=(5,8)。可以将第 55 号人与第 77 号人配对,第 66 号人与第 88 号人配对,这样也可以组成 22 对穿着相同颜色衣服的两人组。也可能会有 l=rl=r 的查询。

由 ChatGPT 4.1 翻译