#iai16a2. 互补数对(Complementary Pairs)

互补数对(Complementary Pairs)

互补数对(Complementary Pairs)

题目描述

给定 n 个正整数 a₁, a₂, …, aₙ,求其中有多少对数字 {x, y} 满足 x & y = 0,且 x ≤ y。

其中 & 表示按位与操作,例如 6 & 3 = (110)₂ & (011)₂ = (010)₂ = 2。

输入格式

  • 第一行:单个整数 n。
  • 第二行:n 个整数,a₁, a₂, …, aₙ

输出格式

  • 单个整数:表示按位与结果为 0 的数对。

数据范围

  • 对于 50% 的数据,1 ≤ n ≤ 10⁴
  • 对于 100% 的数据,1 ≤ n ≤ 10⁶,1 ≤ aᵢ ≤ 10⁶

样例输入 #1

4
2 5 4 27

样例输出 #1

3

说明: (2,5) (2,4) (4,27)

知识点与难度

本题涉及的知识点从属于 GESP 7级,难度等级:⭐⭐⭐


测试点分布

Subtask 分值 测试点编号 说明
0 10 1~2 样例
1 20 3~8 小规模 n≤10
2 15 9~11 Hack: 全 0 对 / 全相同 / 无互补对
3 30 12~20 中大规模
4 25 21~25 大规模 n=10⁶ 压力