社区讨论

求问

P14359[CSP-J 2025] 异或和参与者 3已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@mhiy8trm
此快照首次捕获于
2025/11/03 17:40
4 个月前
此快照最后确认于
2025/11/03 17:40
4 个月前
查看原帖
此代码赛时跑得飞快,但会退化到 O(n2)O(n^2) 级别?能过吗?
CPP
#include <bits/stdc++.h>

int N, K, nums[500010], pre_xor[500010], ans, now;

int main() {
	std::cin >> N >> K;
	for (int i = 1; i <= N; i ++) 
		std::cin >> nums[i], pre_xor[i] = pre_xor[i - 1] ^ nums[i];
	
	for (int i = 1; i <= N; i ++)
		for (int j = now; j < i; j ++)
			if ((pre_xor[i] ^ pre_xor[j]) == K) {
				now = i, ans ++;
				break;
			}
	
	std::cout << ans;
	return 0;
}

回复

2 条回复,欢迎继续交流。

正在加载回复...