B. 异或

    传统题 1000ms 256MiB

异或

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

问题说明

[小雨]有一个数列a1,a2,...,an。有一天,[浩然]拿来了一个正整数X。小雨是一个特别喜欢异或(xor)运算的孩子,于是,小雨就想知道,自己能找到多少对数(i,j)能够满足ai xor aj=X。 两个数对(i1, j1)与(i2, j2)不同,当且仅当i1≠i2或者j1≠j2。

提示:异或运算在C++里的算符是^。

输入格式

第一行两个正整数n,X,分别表示数列的长度以及浩然带来的整数。

第二行包含n个正整数,表示数列an。

输出格式

一行一个整数表示答案。

5 1
1 4 2 2 5
2

样例解释

因为4 xor 5=1,所以这两个数对是(2,5)和(5,2)。

数据范围

对于50%的数据,1n20001≤n≤2000

对于接下来20%的数据,1ai1000001≤ai≤100000

对于100%的数据,1n1000000,1ai230,1X2301≤n≤1000000,1≤ai≤2​^{30}, 1≤X≤2​^{30}​

2024.7.26 进阶组周赛

未参加
状态
已结束
规则
IOI
题目
3
开始于
2024-7-26 20:00
结束于
2024-7-30 20:00
持续时间
96 小时
主持人
参赛人数
4