Codeforces Round #817 (Div. 4) G. Even-Odd XOR
Codeforces Round #817 (Div. 4)
翻译 岛田小雅
G. Even-Odd XOR
出题人 mesanu
给一个整型
输入格式
第一行是一个整型
接下来
数据保证
输出格式
对于每个测试点,输出
如果有很多解,输出其中任意一个。
样例
输入
7
8
3
4
5
6
7
9
输出
4 2 1 5 0 6 7 3
2 1 3
2 1 3 0
2 0 4 5 3
4 1 2 12 3 8
1 2 3 4 5 6 7
8 2 3 7 4 0 5 6 9
补充
第一个测试点中,奇数下标的数异或的结果是
官方题解
作者 flamestorm
这道题有很多种解法,这里分享其中一个。
首先需要知道,如果我们能得到一个数组,让奇数下标的数和偶数下标的数分别进行异或的运算结果相同,那么所有数异或的结果必为
问题是,要怎样生成一个数组,让它里面所有的数异或后结果为
比如,如果
AC 代码
作者 岛田小雅
#include <bits/stdc++.h>
using namespace std;
int t, n;
int a = 1<<18; // 其实19位就够了
int check; // 存前n-2个数的XOR结果
bool f; // 用来记录数组{0,1,2,3...,n-4,n-3}的XOR结果是不是0,不是0为真,是0为假
int main()
{
ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
cin >> t;
while(t--)
{
cin >> n;
check = 0;
for(int i = 1; i < n-3; i++) check ^= i;
if(check^n-3 == 0) check ^= n-2, f = false;
else check ^= n-3, f = true;
for(int i = 0; i < n-3; i++) cout << i << ' ';
if(f) cout << n-3 << ' ';
else cout << n-2 << ' ';
cout << a << ' ' << (a^check) << '\n';
}
return 0;
}
作者:岛田小雅
出处:https://www.cnblogs.com/CasseShimada/p/16703968.html
版权:本作品采用「CC BY-NC-SA 4.0」许可协议进行许可。
(。・∀・)ノ゙嗨, 感谢你阅读我的博客。博主是个初来乍到的萌新,如有意见和建议欢迎私信提出嗷!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App