atcoder#ABC242G. [ABC242G] Range Pairing Query

[ABC242G] Range Pairing Query

题目描述

1,2,,N 1,2,\dots,N と番号付けられた人が並んでおり、人 i i は色 Ai A_i の服を着ています。

以下の形式で表される Q Q 個のクエリに答えてください。

  • 整数 l,r l,r が与えられる。 人 l,l+1,,r l,l+1,\dots,r だけに着目したとき、同じ色の服を着た 2 2 人からなるペアは最大何組作れるか答えよ。

输入格式

入力は以下の形式で標準入力から与えられる。

N N A1 A_1 A2 A_2 \dots AN A_N Q Q Query1 \mathrm{Query}_1 Query2 \mathrm{Query}_2 \vdots QueryQ \mathrm{Query}_Q

ただし、 Queryi \mathrm{Query}_i i i 個目のクエリを表す。

各クエリは以下の形式で与えられる。

l l r r

输出格式

全体で Q Q 行出力せよ。
i i 行目には i i 個目のクエリに対する答えを整数として出力せよ。
なお、入出力が大きくなる場合があるので、高速な方法で入出力を行うことを推奨する。

题目大意

给出长度为 NN 的数列 AiA_i,表示第 ii 个人衣服颜色为 AiA_i。有 MM 次询问 [l,r][l,r] 区间最多能组成多少对衣服颜色相同的人。

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

提示

制約

  • 入力は全て整数
  • 1  N  105 1\ \le\ N\ \le\ 10^5
  • 1  Q  106 1\ \le\ Q\ \le\ 10^6
  • 1  Ai  N 1\ \le\ A_i\ \le\ N
  • 各クエリについて、 1  l  r  N 1\ \le\ l\ \le\ r\ \le\ N

Sample Explanation 1

A=(1,2,3,2,3,1,3,1,2,3) A=(1,2,3,2,3,1,3,1,2,3) です。この入力には 6 6 個のクエリが含まれます。 1 1 個目のクエリは (l, r) = (6, 10) (l,\ r)\ =\ (6,\ 10) です。人 6 6 と人 8 8 、人 7 7 と人 10 10 を組にすることで、同じ色の服を着たペアを 2 2 組作ることができます。 2 2 個目のクエリは (l, r) = (5, 8) (l,\ r)\ =\ (5,\ 8) です。人 5 5 と人 7 7 、人 6 6 と人 8 8 を組にすることで、同じ色の服を着たペアを 2 2 組作ることができます。 l=r l=r であるようなクエリも与えられます。