#P3844. 好二元组
好二元组
好二元组
题目描述
给定一个长度为 n 的数组 a_0, a_1, ..., a_{n-1}。称一对不同的下标 (i, j) 为好二元组,当且仅当满足以下条件:
0 <= i < j <= n - 12 * i <= ja_i xor a_j = 0
其中 xor 表示按位异或运算。
请计算数组中满足条件的好二元组数量。
输入格式
第一行输入一个整数 n。
第二行输入 n 个整数,表示数组 a。
输出格式
输出一个整数,表示好二元组的数量。
数据范围
1 <= n <= 2 * 10^5
1 <= a_i <= n
样例 1
输入
4
1 1 1 1
输出
5
说明
满足条件的下标对共有 5 个,分别为 (0, 1)、(0, 2)、(0, 3)、(1, 2)、(1, 3)。