Codeforces Round #731 (Div. 3) D. Co-growing Sequence(位运算/贪心)

include <bits/stdc++.h>

using namespace std;
int n;
int x[200005], y[200005], xr[200005];
int main() {
int t;
cin >> t;
while(t--) {
cin >> n;
for(int i = 1; i <= n; i++) cin >> x[i];
for(int i = 1; i <= n; i++) {
int tmp = 0;
if(i == 1) {
y[1] = 0;
xr[1] = 0 ^ x[1];
continue;
}
int fuck = 0;
for(int j = 0; j < 32; j++) {//逐位分析
fuck |= (((xr[i - 1] >> j) & 1) << j);
if((xr[i - 1] >> j) & 1) {//由题目要求
if((x[i] >> j) & 1) {
tmp |= (0 << j);
} else {
tmp |= (1 << j);
}
} else {
if(fuck == xr[i - 1]) {//如果已经遍历完xr[i - 1]的有效位 那么y[i]剩下全取0即可,直接break
break;
} else {

				}
			}
		}
		y[i] = tmp;
		xr[i] = x[i] ^ y[i];//不要忘记更新
	}
	for(int i = 1; i <= n; i++) {
		cout << y[i] << " ";
	}
	cout << endl;
}
return 0;

}

posted @   脂环  阅读(68)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2020-07-11 QT入门-QMainWindow类
2020-07-11 洛谷P1967 货车运输 (最大生成树+树链剖分)
2020-07-11 洛谷P3384 【模板】轻重链剖分
2020-07-11 洛谷P5661 公交换乘(二分)
2020-07-11 洛谷P4047 [JSOI2010]部落划分(最小生成树)
点击右上角即可分享
微信分享提示
主题色彩