传统题 1000ms 256MiB

XOR - gcd

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

江月诗拿到了一个由 nn 个整数构成的数组 {a1,a2,,an}\{ a_1, a_2, \dots , a_n \} 他想知道,从中任取两个元素 aia_iaja_j (i<j)(i< j),满足 aia_i XORXOR aja_j == gcd(ai,aj)gcd(a_i, a_j) 的方案数是多少?

gcdgcd,即最大公约数,指两个整数共有约束中最大的一个。例如,12123030 的公约数有 1,2,3,61,2,3,6,其中最大的约数是 66,因此 gcd(12,30)=6gcd(12,30)=6

其中,XORXOR 表示按位异或运算。如果您需要更多位运算相关知识,可以参考 位运算 - OI Wiki

输入格式

第一行输入一个正整数 nn (1n2×105)(1\leq n \leq 2\times 10^{5}) 代表数组中元素数量。

第二行输入 nn 个正整数 a1,a2,,an{a_1, a_2, \dots , a_n} (1ai2×105)(1 \leq a_i \leq 2 \times 10^5)

输出格式

输出一个整数,代表选取两个元素的异或等于最大公约数的方案数。

输入样例

5
2 6 2 3 4

输出样例

3

说明/提示

在这个样例中,选取第 1,41,4 个元素、第 3,43,4 个元素、第 2,52,5 个元素,均满足条件。

2025年秋季XCPC集训队考核赛(同步赛)

未参加
状态
已结束
规则
ACM/ICPC
题目
6
开始于
2025-9-21 15:00
结束于
2025-9-21 18:00
持续时间
3 小时
主持人
参赛人数
24