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

IOI 2026 中国国家集训队作业(试题泛做)记录

跟着学长做。可能不是很详细。

qoj1875 Nein

link

qoj970 Best Subsequence

考虑单次询问怎么做。二分,设 \(\le W\) 的为一类数,其余为二类数,显然二类数不能相邻,则肯定有一种最优解满足一类数全选了(考虑贪心调整,不证)。复杂度 \(\mathcal{O}(n \log n)\)

定义答案相邻的一类数,二类数,一类数为一个三元组 \((a, b, c)\),则对于所有 \(i = c\)\(b\) 一定是弹出去的单调栈上的元素之一且 \(a\) 一定是在单调栈上在 \(b\) 前面一个的元素。自证不难。则总的三元组个数是 \(\mathcal{O}(n)\) 的。

又,对于每一个可能的一类数和三元组,他们都对应答案中的一个 \(1\),且都有一个使它存在的 \(W\) 的区间下界 \(W'\),则我们可以考虑把它放到主席树上维护,二分时求一下区间 \(\le W\) 的数的个数即可(注意它是一个环,所以还要考虑两边的情况)。

代码。

qoj1884 Mission Impossible: Grand Theft Auto

先把二度点缩掉。考虑随便定一个非叶子节点为根,将叶子按 dfn 序排序,则有一种覆盖方式就是以某个叶子 \(x\) 为起点,依次覆盖 \((x, x + 1), (x - 1, x + 2), \dots\)

但是,我们发现这样做会有一个问题,就是可能在覆盖的中途漏掉一些边。我们称漏掉的边为 bad 边:

image

(偷个图,来源)

那你可能会说,直接在覆盖完 bad 边的子树后覆盖一下 bad 边不就行了。但是,需要注意的是 \(x\) 的 bad 边可能有多个,你直接这么搞可能次数就超了。

定义一条边对一个点贡献一次,当且仅当以那个点为起点时,这条边是 bad 边。显然,一条边贡献到的点一定为子树内的中间叶子和子树外的中间叶子(能贡献到当且仅当子树内/外的叶子个数是偶数),且贡献数不超过 \(2\)(可以看图揣摩一下)。

我们发现由于二度点都被缩掉了,则这颗树的总边数不会超过 \(2m - 2\)。分两种情况讨论。

  • \(m\) 是偶数:

显然,每个叶子向上连的边一定不会贡献到任何一个节点,剩下的 \(m - 2\) 条边每条边最多贡献 \(2\) 次,总贡献数不超过 \(2x - 4\),则必有一个节点被贡献到的次数 \(\le 1\),取这个点为起点即可。

  • \(m\) 是奇数:

此时由于 \(m\) 是奇数,每条边必定会贡献恰好 \(1\) 次。同上文的分析,取被贡献次数 \(1\) 的点为起点即可。

此时,由于所有叶子向上连的边贡献到的点恰好是所有叶子,则此时的 bad 边一定是最后剩下的叶子向上连的边。直接在构造的最后把那个叶子和根覆盖即可。

直接按上面的方法构造即可,复杂度 \(\mathcal{O}(n)\)

代码(tip:写代码时甚至不需要刻意把二度点缩掉)

http://www.gsyq.cn/news/55636.html

相关文章:

  • 深入解析:开源 Linux 服务器与中间件(十二)FRP内网穿透应用
  • 实用指南:GLM 智能助力・Trae 跨端个人任务清单
  • AT_agc050 总结
  • duckdb索引介绍
  • 2025.11.20 B 题解
  • 重组干扰素蛋白的结构特点与分子性质综述
  • 程序员手记
  • 详细介绍:【从0开始学习Java | 第23篇】动态代理
  • 电动汽车行业时序数据库选型指南:以 TDengine 为例的四大关键维度与评估标准
  • Python在线教育广告精准投放:SEM结构方程、XGBoost、KDE核密度、聚类、因子分析、随机森林集成优化融合用户满意度渠道效能|附代码数据
  • 专题:2025年AI Agent智能体行业价值及应用分析报告:技术落地与风险治理|附140+ 份报告PDF、数据、可视化模板汇总下载
  • 深入解析:css 的 clip-path 属性,绘制气泡
  • 快速构建一个基础、现代化的 WinForm 管理系统!
  • 国内外研究现状全面解析:掌握学术前沿的必备指南
  • 费马小定理在素数检测中的应用
  • 50036_基于微信小程序的智能点餐推荐系统
  • curl/libcurl SMTP CRLF注入漏洞深度分析
  • 2025年11月氨基酸水溶肥,花芽分化氨基酸水溶肥,低温酶解氨基酸水溶肥厂家最新推荐,权威测评与种植选择指南!
  • 4.6.4版本闪亮登场~赶快了解一下新内容吧
  • XMind for Mac v24.01.dmg 安装教程(Mac思维导图软件下载安装步骤)
  • FPGA中,“按键控制LED灯实验”学习中常见问题、解除思路和措施以及经验总结!!!(新手必看)
  • fio linux
  • Docker主机网络优化咋做
  • find linux 文件
  • C语言小程序在日常生活中的应用实例
  • Docker客户端支持哪些存储驱动
  • discuz使用mysql有哪些注意事项
  • Docker存储驱动适用场景是啥
  • c语言在linux
  • dns设置linux