CF2095E Pair Count
题目描述
给定一个质数 $p$,$n$ 个整数 $a_1, a_2, \ldots, a_n$,以及一个整数 $k$。
请你求出满足条件 $(a_i \oplus a_j)(a_i^2 \oplus a_j^2) \equiv k \pmod{p}$ 的下标对 $(i, j)$ 的数量($1 \le i < j \le n$)。
其中 $\oplus$ 表示[按位异或运算](https://word.rodeo/?utm_source=share#cvMcraT7fZ6Yj3T3fwWbp8jppto8Pan9HXzC5fWYjPCCvqUMqseEkRFkzttufIM=)。
输入格式
第一行包含三个整数 $n, p, k$($2 \le n \le 3 \cdot 10^5$,$2 \le p \le 10^9$,$0 \le k \le p-1$)。保证 $p$ 是质数。
第二行包含 $n$ 个整数 $a_1, a_2, \ldots, a_n$($0 \le a_i \le p-1$)。保证所有元素互不相同。
输出格式
输出一个整数,表示满足条件的下标对数量。
说明/提示
在第一个样例中:
$(0\oplus1)(0^2 \oplus 1^2) = 1 \equiv 1 \pmod{3}$。
$(0\oplus2)(0^2 \oplus 2^2) = 8 \equiv 2 \pmod{3}$。
$(1\oplus2)(1^2 \oplus 2^2) = 15 \equiv 0 \pmod{3}$。
因此只有 $1$ 对满足条件。
在第二个样例中,有 $3$ 对满足条件,分别是 $(1, 5)$、$(1, 6)$、$(3, 6)$。
由 ChatGPT 4.1 翻译