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分析

思路

  1. 分析核心条件

    问题的核心在于条件“i⊕aii \oplus a_ii⊕ai​ 的结果为奇数”。一个整数是奇数,当且仅当它的二进制表示的最低位为 111。

  2. 异或运算与奇偶性

    我们来分析异或运算 ⊕\oplus⊕ 对最低位的影响。两个数的异或结果的最低位,是这两个数最低位的异或结果。

P3673.第1题-按位异或运算

    1000ms Tried: 118 Accepted: 51 Difficulty: 3 所属公司 : 美团
    算法与标签>构造

题目内容

给定一个正整数 nnn ,请你构造一个长度为 nnn 的排列 {a1,a2,...,ana_1,a_2,...,a_na1​,a2​,...,an​},满足:

  • 对任意位置 iii (从 111 开始),i⊕aii⊕a_ii⊕ai​ 为奇数。

长度为 nnn 的排列:由 1,2,…,n1,2,…,n1,2,…,n 这 nnn 个整数按任意顺序组成的数组(每个整数恰好出现一次)。例如, {2,3,1,5,42,3,1,5,42,3,1,5,4} 是一个长度为 555 的排列;而 {1,2,21,2,21,2,2} 和 {1,3,41,3,41,3,4} 都不是排列。

这里的 ⊕⊕⊕ 表示按位异或运算;奇数是指除以 222 余数为 111 的整数。

输入描述

每个测试文件均包含多组测试数据。

第一行输入一个整数 T(1≦T≦2×105)T(1 ≦T ≦2×10^5)T(1≦T≦2×105) 表示测试数据组数。此后 TTT 行:

每行输入一个整数 n(1≦n≦2×105)n(1≦n≦2×10^5)n(1≦n≦2×105) 。

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

输出描述

对每组测试数据,新起一行输出:

  • 若存在满足条件的排列,输出任意一个满足条件的排列,共 nnn 个整数,数与数之间用一个空格隔开;

  • 若不存在满足条件的排列,输出单个整数 −1-1−1 。

如果存在多个解决方案,您可以输出任意一个,系统会自动判定是否正确。注意,自测运行功能可能因此返回错误结果,请自行检查答案正确性。

样例1

输入

2
1
2

输出

-1
2 1

说明

对于 n=1n=1n=1 ,无论 a1a_1a1​ 取 111 ,均有 1⊕1=01⊕1=01⊕1=0 为偶数,因此无解,输出 −1-1−1 。

对于 n=2n=2n=2 ,取排列 {2,12,12,1} :1⊕2=3、2⊕1=31⊕2=3、2⊕1=31⊕2=3、2⊕1=3,均为奇数,合法。

登录后即可使用 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, 91ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

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

Forgot password or username?