G. Even-Odd XOR(构造 位运算) CF 1722G

题目:

​ 构造一个长度为n的序列,使奇数位上的所有数异或和 等于 偶数位上的所有数异或和

分析:

​ 由于奇数位异或和=偶数位异或和,所以可以得到奇数位异或和xor偶数位异或和=0

​ 那么就可以转化为构造一个长度为n 异或和为0的序列 那么就简单多了

​ 我们容易知道a ^ b ^ c ^ a ^ b ^ c = 0

实现:

void solve()
{
read(n);
int sum = 0;
rep(i, 0, n - 3)
{
printf("%d ", i);
sum ^= i;
}

printf("%d %d %d\n", (1 << 30), (1 << 30) - 1, (1 << 30)^((1 << 30) - 1)^sum);
}
posted @   DM11  阅读(267)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示
主题色彩