当前位置: 首页 > news >正文

题解:P15267 「UTOI 1B」Chaotic Time Trio

思路

首先看全是零的部分分,如果 \(n\) 不是很小的时候,手模几个发现似乎都可以构造出来,我们考虑转化。

我们把所有的数分成是 \(0\) 的和不是 \(0\) 的,对于不是 \(0\) 的数,我们可以让他两两配对取 \(\operatorname{mex}\) 变成是 \(0\) 的数,此时我们剩下一堆 \(0\),和至多一个非 \(0\) 的数。

分类讨论一下。

如果剩下一个非 \(0\) 的数,考虑怎么用这几个已有 \(0\) 构造出非 \(0\) 的数。

如图:

如果没有剩下非 \(0\) 的数,可以这样构造。

如图:

这样可以轻松解决,注意当 \(n\) 较小的时候需要特判。

代码

int bg = n + 1;
for(int i = 1; i <= n; ++i) if(a[i] != 0){ bg = i; break;}	
int cnt = bg - 1;
for(int i = bg; i + 1 <= n; i += 2)	ans.pb({a[i], a[i + 1]}), cnt++;
if((n - bg + 1) % 2 == 0 && bg != 0){int now = 0;for(int i = 2; i <= cnt - 2; ++i) ans.pb({0, now}), now = mex(now, 0);ans.pb({0, 0});ans.pb({now, 1});now = mex(now, 1);if(now == 0) for(auto [a, b] : ans) cout << a << ' ' << b << '\n';
}
else{int now = 0;for(int i = 2; i <= cnt; ++i) ans.pb({0, now}), now = mex(now, 0);ans.pb({now, a[n]});now = mex(now, a[n]);if(now == 0) for(auto [a, b] : ans) cout << a << ' ' << b << '\n';
}

造福后人给一个 checker。

inline void check(){multiset<int> s;for(int i = 1; i <= n; ++i) s.insert(a[i]), cerr << a[i] << ' ';cerr << '\n';for(auto [a, b] : ans){if(s.find(a) != s.end()) s.erase(s.find(a));else cerr << "WA" << '\n', assert(0);if(s.find(b) != s.end()) s.erase(s.find(b));else cerr << "WA" << '\n', assert(0);s.insert(mex(a, b));}if(s.size() > 1) cerr << "WA" << '\n', assert(0);if(*s.begin() != 0) cerr << "WA" << '\n',assert(0);else cerr << "AC" << '\n';
}
http://www.jsqmd.com/news/374915/

相关文章:

  • 南京大学联合美团发布ScaleEnv框架:让AI智能体自学成才
  • Java毕设项目:基于springboot的校园共享电动自行车管理系统(源码+文档,讲解、调试运行,定制等)
  • 2026年2月智能客服机器人品牌推荐榜电商高效运营必备AI客服选型指南 - 深度智识库
  • 导师推荐 10个降AI率软件降AIGC网站:专科生必看的降重工具测评与推荐
  • 【计算机毕业设计案例】基于springboot的校园共享电动自行车管理系统(程序+文档+讲解+定制)
  • 哈工大突破性成果:AI如何像人类一样运用压缩记忆处理海量信息
  • 【Python毕设全套源码+文档】基于python的WEB的家教信息系统设计与实现(丰富项目+远程调试+讲解+定制)
  • 闲置世纪联华充值卡别浪费!3种靠谱世纪联华充值卡回收途径,轻松变现不踩坑 - 京回收小程序
  • 【Python毕设全套源码+文档】基于python的健身房管理系统的设计与实现(丰富项目+远程调试+讲解+定制)
  • 拖延症福音 10个降AI率工具测评:自考论文降重全攻略
  • 【Python毕设全套源码+文档】基于python的小说阅读系统的设计与实现(丰富项目+远程调试+讲解+定制)
  • 对比一圈后!标杆级的AI论文网站 —— 千笔
  • 2026年2月PVC发泡板生产厂家TOP10排行榜:优质供应商环保、专利等综合实力解析 - 品牌推荐2026
  • 药毒性检测质谱分析仪哪个租赁平台好?放心租赁首选 - 资讯焦点
  • 【Django毕设全套源码+文档】基于django的在线考试与评估系统的设计与实现(丰富项目+远程调试+讲解+定制)
  • 2026 BI 私有化部署方案商推荐:企业数据 BI 全案解决方案商 - 品牌2025
  • pcre2 10.47分析
  • 2026广东最新紫晶洞厂家top5推荐!广州等地优质紫晶洞批发工厂权威榜单发布,源头直供品质可靠的紫晶洞推荐 - 品牌推荐2026
  • 高校教学质谱分析仪,推荐找什么租赁公司更权威 - 资讯焦点
  • 【Django毕设源码分享】基于Django的在线考试与评估系统的设计与实现(程序+文档+代码讲解+一条龙定制)
  • 【python毕设源码分享】基于Python+WEB的家教信息系统的设计与实现(程序+文档+代码讲解+一条龙定制)
  • 市面上靠谱呼叫中心系统:优音通信等推荐 - 资讯焦点
  • 【python毕设源码分享】基于Python的小说阅读系统的设计与实现(程序+文档+代码讲解+一条龙定制)
  • 2026年电商AI客服厂商技术实力与发展前景评估报告 - 深度智识库
  • 拒绝无效学习!2026年程序员AI转型3阶段学习法:基础API调用→RAG→Agent开发(附时间规划表)
  • 【python毕设源码分享】基于Python的大学生健康管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)
  • 2026年2月木饰面生产厂家TOP10排行榜:优质供应商环保、专利等综合实力解析 - 品牌推荐2026
  • Java毕设项目推荐-基于springboot的校园共享电动自行车管理系统共享自行车租赁管理系统【附源码+文档,调试定制服务】
  • 2026 Deepseek 知识库部署服务商推荐:专属大模型知识库落地服务商 - 品牌2025
  • 赶deadline必备! 9个AI论文网站深度测评,专科生毕业论文写作全攻略