1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol AI分析

解题思路

我们可以多次选择当前数组中的某个数 x,把所有元素同时变为 a_i xor x。关键观察:

  • 设经过若干次操作后,整体等价于把所有元素都异或了某个值 g。
  • 若第一步选的是 x=a_k,则 g=a_k;第二步必须从新数组中选 x'=a_j xor a_k,于是新的整体异或量变为 g'=a_k xor (a_j xor a_k)=a_j;继续下去可证明每一步后的整体异或量始终是原数组中的某个元素。
  • 因此,最终可达的数组恰为:{a_i xor g},其中 g ∈ {0} ∪ {a_1,…,a_n}(允许不操作时 g=0)。

于是问题化简为:在有限候选集合 G={0} ∪ {a_i} 中,选择 g 最大化

P3725.第3题-数组按位异或运算

    1000ms Tried: 91 Accepted: 11 Difficulty: 5 所属公司 : 携程
    算法与标签>位运算

题目内容

给定一个由 nnn 个非负整数构成的数组 {a1,a2,…,ana_1,a_2,…,a_na1​,a2​,…,an​} 。你可以进行以下操作任意次(可以不执行任何操作):

  • 选择一个当前在数组中的数 xxx ,对数组中所有元素执行按位异或运算,即将 aia_iai​ 变为 aia_iai​ xorxorxor xxx 。

你的目标是使操作后数组中所有元素之和最大化,输出该最大值。

【名词解释】

xorxorxor :指位运算中的按位异或运算。

输入描述

每个测试文件均包含多组测试数据。第一行输入一个整数 T(1≤T≤2×105)T(1 ≤ T≤2×10^5)T(1≤T≤2×105) 代表数据组数,每组测试数据描述如下:

第一行输入一个整数 n(1≦n≦2×105)n(1≦n≦2×10^5)n(1≦n≦2×105) 表示数组中元素的个数。

第二行输入 nnn 个整数 a1,a2,…,an(0≦ai≦109)a_1,a_2,…,a_n(0 ≦ a_i≦ 10^9)a1​,a2​,…,an​(0≦ai​≦109) ,表示数组中的元素。

除此之外,保证单个测试文件的几之和不超过 2×1052 × 10^52×105 。

输出描述

对于每组测试数据,新起一行,输出一个整数,表示经过若干次操作后数组元素之和的最大值。

样例1

输入

3
3
2 3 4
6
1 1 4 5 1 4
7
1 9 1 9 8 1 0

输出

13
16
37

说明

对于第一组测试数据,最优方案为选择 x=a3=4x = a_3 = 4x=a3​=4 ,操作后数组变为 {6,7,06,7,06,7,0},数组元素之和为 131313 。可以证明,这是可以达到的最大值。

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 0, 35ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?