CF2066C.Bitwise Slides

提高+/省选-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定一个数组 a1,a2,…,ana_1, a_2, \ldots, a_n,以及三个初始值为零的变量 P,Q,RP, Q, R。

你需要按从 11 到 nn 的顺序依次处理所有数字 a1,a2,…,ana_1, a_2, \ldots, a_n。当处理当前元素 aia_i 时,你必须从以下三个操作中任选一个执行:

  1. P:=P⊕aiP := P \oplus a_i
  2. Q:=Q⊕aiQ := Q \oplus a_i
  3. R:=R⊕aiR := R \oplus a_i

其中 ⊕\oplus 表示按位异或操作。

执行操作时必须遵守核心规则:每次操作后,三个数 P,Q,RP, Q, R 必须满足其中至少存在两个数相等。

所有 nn 个操作共有 3n3^n 种可能的执行方式。求其中不违反核心规则的方式数量。由于答案可能很大,请输出其对 109+710^9 + 7 取模的结果。

输入格式

每个测试包含多个测试用例。第一行输入测试用例数 tt(1≤t≤1041 \le t \le 10^4)。随后为各测试用例的描述。

每个测试用例的第一行包含一个整数 nn(1≤n≤2⋅1051 \le n \le 2 \cdot 10^5)——数组 aa 的长度。

每个测试用例的第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \ldots, a_n(1≤ai≤1091 \le a_i \le 10^9)——数组 aa 的元素。

保证所有测试用例的 nn 之和不超过 2⋅1052 \cdot 10^5。

输出格式

对于每个测试用例,输出不违反核心规则的操作方式数量对 109+710^9 + 7 取模后的结果。

输入输出样例

  • 输入#1

    5
    3
    1 7 9
    4
    179 1 1 179
    5
    1 2 3 3 2
    12
    8 2 5 3 9 1 8 12 9 9 9 4
    1
    1000000000

    输出#1

    3
    9
    39
    123
    3

说明/提示

第一个测试用例中,存在 3 种合法操作序列:PPP、QQQ、RRR。

第二个测试用例中,存在 9 种合法操作序列:PPPP、PPPQ、PPPR、QQQP、QQQQ、QQQR、RRRP、RRRQ、RRRR。

翻译由 DeepSeek R1 完成

输入解题思路,AI测评打分。不知道怎么写?

首页