AT_cpsco2019_s3_e.Enumerate Xor Sum

通过率:0%

AC君温馨提醒

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

题目描述

给定一个长度为 NN 的非负整数序列 A1,A2,…,ANA_1, A_2, \ldots, A_N。请你对每一个 k=1,2,…,Nk = 1, 2, \ldots, N 进行以下操作:

  1. 计算 X=A1 xor A2 xor … xor AkX = A_1 \ {\rm xor} \ A_2 \ {\rm xor} \ \ldots \ {\rm xor} \ A_k。
  2. 输出 (A1 xor X)+(A2 xor X)+…+(Ak xor X)(A_1 \ {\rm xor} \ X) + (A_2 \ {\rm xor} \ X) + \ldots + (A_k \ {\rm xor} \ X) 的结果。

需要特别注意的是,XX 的值会随着 kk 的变化而改变。

对于多个整数 c1,c2,…,cmc_1, c_2, \ldots, c_m 的异或计算,规则如下:

  • 设计算结果为 XX,
  • 若 c1,c2,…,cmc_1, c_2, \ldots, c_m 中,在二进制表示中,第 2k2^k 位是 11 的整数个数是奇数,则 XX 的第 2k2^k 位为 11;反之为 00。

输入格式

输入以以下格式给出:

NN A1A_1 A2A_2 …\ldots ANA_N

输出格式

对于每个 k=1,2,…,Nk = 1, 2, \ldots, N,分别输出计算结果,每行一个。

输入输出样例

  • 输入#1

    3
    7 5 3

    输出#1

    0
    12
    12
  • 输入#2

    7
    12 42 61 31 34 53 17

    输出#2

    0
    54
    110
    138
    142
    233
    252

说明/提示

  • 1≤N≤3×1051 \le N \le 3 \times 10^5
  • 0≤Ai0 \le A_i
  • 所有输入均为整数。

示例解释 1

  • 当 k=1k = 1 时,X=7X = 7,此时 A1 xor X=0A_1 \ {\rm xor} \ X = 0。
  • 当 k=2k = 2 时,X=7 xor 5=2X = 7 \ {\rm xor} \ 5 = 2,所以 A1 xor X=5A_1 \ {\rm xor} \ X = 5,A2 xor X=7A_2 \ {\rm xor} \ X = 7,总和为 1212。
  • 当 k=3k = 3 时,X=7 xor 5 xor 3=1X = 7 \ {\rm xor} \ 5 \ {\rm xor} \ 3 = 1,此时 A1 xor X=6A_1 \ {\rm xor} \ X = 6,A2 xor X=4A_2 \ {\rm xor} \ X = 4,A3 xor X=2A_3 \ {\rm xor} \ X = 2,总和也为 1212。

本翻译由 AI 自动生成

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

首页