CF1722G Even-Odd XOR#817(div.4)
题目链接
https://codeforces.com/problemset/problem/1722/G
题意简述
题意很简单啦
样例
点击查看样例
分析
首先说几个异或运算的性质.异或运算满足交换律,结合律
并且,
要使奇数项异或等于偶数项异或,当且仅当数组中所有元素异或为
下面我们要构造一个这样的数组
我们显然有
只需要让前面一些元素任取(不妨从
然后最后两个元素分别取
他们异或起来就是
注意特判
此时只需要改动前面一个数(选一个没用过的数),那么
的取值的限制条件
本来想的是
1
6
1 2 3 4 2 6
所以把
或者观察一下题目:
那么只要让
01000000000000000000
00110000110101000000
代码
点击查看代码
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
int res[200010];
int main()
{
//freopen("uva.txt","r",stdin);
int n;
scanf("%d",&n);
int ans=0;
for(int i=1;i<=n-2;i++)
{
ans=ans^i;
res[i]=i;
//printf("%d ",i);
}
int a=2147483647;
if(ans==0)
{
ans^=res[1];
res[1]=2147483646;
ans^=res[1];
}
for(int i=1;i<=n-2;i++)
{
printf("%d ",res[i]);
}
printf("%d %d",ans^a,a);
return 0;
}
如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端