CF2071D1.Infinite Sequence (Easy Version)

普及+/提高

通过率:0%

AC君温馨提醒

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

题目描述

这是该问题的简单版本。不同版本的区别在于此版本中 l=rl = r。仅当您解决了该问题的所有版本时才能进行 hack。

给定一个正整数 nn 和一个无限二进制序列 aa 的前 nn 项,该序列定义如下:

  • 对于 m>nm > n,am=a1⊕a2⊕…⊕a⌊m2⌋a_m = a_1 \oplus a_2 \oplus \ldots \oplus a_{\lfloor \frac{m}{2} \rfloor} ∗^{\text{∗}}。

你的任务是计算给定区间 [l,r][l, r] 内元素的和:al+al+1+…+ara_l + a_{l + 1} + \ldots + a_r。

∗^{\text{∗}} ⊕\oplus 表示按位异或操作。

输入格式

每个测试包含多个测试用例。第一行包含测试用例数量 tt(1≤t≤1041 \le t \le 10^4)。接下来是各个测试用例的描述。

每个测试用例的第一行包含三个整数 nn、ll 和 rr(1≤n≤2⋅1051 \le n \le 2 \cdot 10^5,1≤l=r≤10181 \le l = r \le 10^{18})。

第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \ldots, a_n(ai∈{0,1}\color{red}{a_i \in \{0, 1\}})——序列 aa 的前 nn 项。

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

输出格式

对于每个测试用例,输出一个整数——给定区间内元素的和。

输入输出样例

  • 输入#1

    9
    1 1 1
    1
    2 3 3
    1 0
    3 5 5
    1 1 1
    1 234 234
    0
    5 1111 1111
    1 0 1 0 1
    1 1000000000000000000 1000000000000000000
    1
    10 87 87
    0 1 1 1 1 1 1 1 0 0
    12 69 69
    1 0 0 0 0 1 0 1 0 1 1 0
    13 46 46
    0 1 0 1 1 1 1 1 1 0 1 1 1

    输出#1

    1
    1
    0
    0
    1
    0
    1
    0
    0

说明/提示

第一个测试用例中,序列 aa 为:

[1‾,1,1,0,0,1,1,1,1,1,…][\underline{\color{red}{1}}, 1, 1, 0, 0, 1, 1, 1, 1, 1, \ldots]

其中 l=1l = 1,r=1r = 1。区间 [1,1][1, 1] 的元素和为 a1=1a_1 = 1。

第二个测试用例中,序列 aa 为:

[1,0,1‾,1,1,0,0,1,1,0,…][\text{\color{red}{1}}, \text{\color{red}{0}}, \underline{1}, 1, 1, 0, 0, 1, 1, 0, \ldots]

其中 l=3l = 3,r=3r = 3。区间 [3,3][3, 3] 的元素和为 a3=1a_3 = 1。

翻译由 DeepSeek R1 完成

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

首页