关注
#include<iostream> #include<vector> using namespace std; //此题有一个要点,就是只要找到了某个区间xor为0,那么后面的数据就跟 //前面的没有关系了。因为区间不能重叠 int main() { int n; cin >> n; vector<int> input(n, 0); for (int i = 0; i < n; i++) cin >> input.at(i); //数据输入 int k = 0; vector<int> num; //用于记录当前所有的可能值 for (int i = 0; i < n; i++) { if (input.at(i) == 0) { k += 1; num.clear(); continue; // 跟样例一个道理,0 就直接是0。。。。 } if (input.at(i)>0) { int flag = 0; for (int j = 0; j < num.size(); j++) { num.at(j) = num.at(j) ^ input.at(i); if (num.at(j) == 0) { flag = 1; k += 1; num.clear(); } } //此处我举个例子,比如找第一个区间,现在循环到了第五位,有几种情况? // input.at(0) ^ input.at(1) ^ input.at(2) ^ input.at(3) ^ input.at(4) // input.at(1) ^ input.at(2) ^ input.at(3) ^ input.at(4) // input.at(2) ^ input.at(3) ^ input.at(4) // input.at(3) ^ input.at(4) // input.at(4) // 这样得到5个数字。来了第6个数,分别于他们xor,发现哪个结果是0,就找 // 到本个区间了,然后将记录清空,继续下一个 if (flag == 0) num.push_back(input.at(i)); } } cout << k << endl; return 0; }
查看原帖
点赞 1
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
2025-12-31 03:35
长沙理工大学 前端工程师 点赞 评论 收藏
分享
2025-12-26 00:57
门头沟学院 golang 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 在大厂上班是一种什么样的体验 #
10718次浏览 134人参与
# 你认为工作的意义是什么 #
249240次浏览 1498人参与
# 程序员找工作至少要刷多少题? #
18492次浏览 248人参与
# 为了减少AI幻觉,你注入过哪些设定? #
4626次浏览 150人参与
# 我现在比当时_,你想录用我吗 #
8680次浏览 111人参与
# 机械人避雷的岗位/公司 #
43444次浏览 300人参与
# 一张图晒一下你的AI员工 #
5063次浏览 114人参与
# 论秋招对个人心气的改变 #
10893次浏览 155人参与
# 关于春招/暑期实习,你想知道哪些信息? #
7482次浏览 119人参与
# 刚入职的你踩过哪些坑 #
6863次浏览 127人参与
# AI Coding的使用心得 #
4656次浏览 101人参与
# 晒晒你司的新年福利 #
8455次浏览 105人参与
# 牛客AI体验站 #
6770次浏览 187人参与
# 12306一秒售罄,你抢到回家的票了吗? #
1963次浏览 47人参与
# 柠檬微趣工作体验 #
14777次浏览 83人参与
# 总结:哪家公司面试体验感最差 #
93018次浏览 430人参与
# 程序员能干到多少岁? #
8627次浏览 115人参与
# 你认为小厂实习有用吗? #
118056次浏览 679人参与
# 互联网公司评价 #
485625次浏览 4109人参与
# 应届生进小公司有什么影响吗 #
118291次浏览 1159人参与

