AT_abc365_e.[ABC365E] Xor Sigma Problem

普及+/提高

通过率:0%

AC君温馨提醒

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

题目描述

给定一个长度为 NN 的整数序列 A=(A1,…,AN)A=(A_1,\ldots,A_N)。请计算下式的值。

∑i=1N−1∑j=i+1N(Ai⊕Ai+1⊕…⊕Aj)\sum_{i=1}^{N-1}\sum_{j=i+1}^N (A_i \oplus A_{i+1} \oplus \ldots \oplus A_j)

按位异或的定义如下:对于非负整数 A,BA, B,A⊕BA \oplus B 表示 AA 和 BB 的按位异或运算。具体来说,A⊕BA \oplus B 的二进制表示中,第 2k2^k 位(k≥0k \geq 0)的数值为 AA 和 BB 的二进制表示中第 2k2^k 位的数值中恰好有一个为 11 时为 11,否则为 00。

例如,3⊕5=63 \oplus 5 = 6(二进制表示为:011⊕101=110011 \oplus 101 = 110)。
一般地,kk 个整数 p1,…,pkp_1, \dots, p_k 的异或和定义为 (⋯((p1⊕p2)⊕p3)⊕⋯⊕pk)(\cdots((p_1 \oplus p_2) \oplus p_3) \oplus \cdots \oplus p_k),并且可以证明,这个结果与 p1,…,pkp_1, \dots, p_k 的顺序无关。

输入格式

输入以以下格式从标准输入读入。

NN A1A_1 A2A_2 …\ldots ANA_N

输出格式

请输出答案。

输入输出样例

  • 输入#1

    3
    1 3 2

    输出#1

    3
  • 输入#2

    7
    2 5 6 5 2 1 7

    输出#2

    83

说明/提示

限制条件

  • 2≤N≤2×1052 \leq N \leq 2 \times 10^5
  • 1≤Ai≤1081 \leq A_i \leq 10^8
  • 输入的所有数值均为整数

样例解释 1

A1⊕A2=2, A1⊕A2⊕A3=0, A2⊕A3=1A_1 \oplus A_2 = 2,\ A_1 \oplus A_2 \oplus A_3 = 0,\ A_2 \oplus A_3 = 1,因此答案为 2+0+1=32+0+1=3。

由 ChatGPT 4.1 翻译

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

首页