P17875 [FJCPC 2026] 蛇小弟与奶龙

题目背景

:::info[这里是原题中的奶龙] ![](https://cdn.luogu.com.cn/upload/image_hosting/0jmz9lmv.png) :::

题目描述

新学期伊始,“百度之星”蛇小弟选修了一门深奥且神秘的大学核心课程——《奶龙主义原理》。这门课由鼎鼎大名的彭阳老师亲自授课。 期末考试终于到来,彭阳老师有着一套非常独特的评分机制。在他的心目中,班里的 $n$ 名学生每个人都有个“最高印象分” $a_{i}$。按照彭阳老师的习惯,如果一个学生平时和他关系很好,那么该学生就能直接获得满分 $a_{i}$。 然而,在最终录入成绩时,彭阳老师决定贯彻奶龙主义的“混沌与随机”精神。对于第 $i$ 名学生,彭阳老师并没有直接根据关系给分,而是在整数区间 $[0,a_{i}]$ 中等概率且独立地随机生成了一个最终成绩 $b_{i}$。显然,只有当摇出的 $b_{i} = a_{i}$ 时,这名学生才算是体验到了“关系好”的待遇。 作为深谙奶龙主义核心教义的优秀学生,蛇小弟深知,整个班级的“奶龙能量场”必须保持守恒。具体来说,只有当全班同学实际最终成绩的异或和,等于所有人都和老师关系好(即全员拿满分)时的异或和时,奶龙能量场才处于稳定状态,不会发生崩塌。换句话说,必须满足如下等式: $$ b_{1}\oplus b_{2}\oplus \dots \oplus b_{n} = a_{1}\oplus a_{2}\oplus \dots \oplus a_{n}. $$ 其中 $\oplus$ 表示按位异或(XOR)运算。 本题中,异或运算正式定义如下:对于两个非负整数 $x,y$,设它们的二进制展开分别为 $$ x = \sum_{k\geq 0}x_{k}2^{k},\quad y = \sum_{k\geq 0}y_{k}2^{k}, $$ 其中 $x_{k},y_{k}\in \{0,1\}$,且只有有限多个二进制位为1。定义 $$ x\oplus y = \sum_{k\geq 0}z_{k}2^{k},\quad z_{k} = (x_{k} + y_{k})\bmod 2. $$ 也就是说,在每一个二进制位上,若 $x$ 与 $y$ 的该位不同,则结果该位为 $1$;否则结果该位为 $0$。 多个整数的异或和按该二元运算依次计算。异或运算满足结合律和交换律,因此计算顺序不影响结果。 蛇小弟现在非常担心能量场崩塌。请你帮他计算,在彭阳老师的随机给分机制下,班级奶龙能量场保持稳定的概率是多少?

输入格式

第一行包含一个正整数 $T$($1\leq T\leq 10^{5}$),表示测试数据组数。 对于每组测试数据: - 第一行包含一个正整数 $n$($1\leq n\leq 2\times 10^{5}$),表示选修《奶龙主义原理》的学生人数。 - 第二行包含 $n$ 个整数 $a_{1},a_{2},\ldots ,a_{n}$($0\leq a_{i}\leq 10^{9}$),分别表示每位同学的最高印象分。 保证所有测试数据中 $n$ 的总和不超过 $2\times 10^{6}$。

输出格式

对于每组测试数据,输出一行一个整数,表示能量场保持稳定的概率。 显然该概率可以表示为一个有理数 $\frac{P}{Q}$,且 $\gcd(P,Q) = 1$。为了避免精度误差,请你输出 $P\cdot Q^{-1} \bmod 10^9 + 7$ 的值。 其中 $Q^{-1}$ 表示 $Q$ 在模 $10^9 + 7$ 意义下的乘法逆元。

说明/提示

对于样例一: $$ a_{1}\oplus a_{2}\oplus a_{3} = 1\oplus 2\oplus 3 = 0. $$ 彭阳老师会分别从 $[0,1]$、$[0,2]$、$[0,3]$ 中随机生成 $b_{1},b_{2},b_{3}$,因此总共有 $$ (1 + 1)(2 + 1)(3 + 1) = 24 $$ 种等概率的结果。 要使奶龙能量场保持稳定,需要满足 $$ b_{1}\oplus b_{2}\oplus b_{3} = 0. $$ 合法的三元组共有 6 个: $$ (0,0,0),\ (0,1,1),\ (0,2,2),\ (1,0,1),\ (1,1,0),\ (1,2,3). $$ 因此概率为 $$ \frac{6}{24} = \frac{1}{4}. $$ 在模 $10^9+7$ 意义下,$4^{-1} \equiv 250000002$,所以样例输出为 $250000002$。