IOI2023
来感受一下 IOI 的题目质量。
没做 T6。
CF436E Cardboard Box
tag:选数问题的调整方法,贪心
考虑如果我们把一个数两个都选,那么根据简单调整法,显然不存在
loj3988. 「IOI2023」封锁时刻
然后先处理掉两个点可达的点不交的情况,然后强制
loj3989. 「IOI2023」最长路程
tag:构造,交互(3 increase 2)
先说一下
仿照证明竞赛图有哈密顿路的方式,动态维护路径,每次插入一个点。先考虑它能否接到链的首尾,如果不能那么首尾一定有边,此时随便找一条边连到环上就可以构造出来链了。
考虑减一下操作次数。维护当前所有联通块,然后二分找到当前点连的哪个联通块,然后二分找边,可以得到
此时应用常规的优化思路已经无法取得进展,考虑继续寻找图的性质。可以发现,假如图有超过
所以我们只需要维护两条链,甚至都没必要维护联通情况。维护两条链的链首
- 询问
与 是否有边,如果有,连边 。 - 否则,询问
与 是否有边,如果有,连边 。 - 否则,连边
,并令 为单独的链。
最后需要判断两条链是否联通,如果联通,需要找两条链之间的一条边。
操作次数约为
考虑进一步优化,注意到
类似的题:CF1705F。
loj3990. 「IOI2023」足球场
tag:DP,优化状态,类最大子矩形问题
先考虑怎么判断合法。
首先可以发现,如果行的连续段
那么它是不是充分的呢?不是,发现行的区间关系只能是包含,不能不包含但相交。
那么它是不是充分的呢?不是,发现如果两个大的把中间夹起来也是不合法的。
所以可以得出这样一个结论:区间相互包含,且单峰。
处理单峰的方式是经典的。枚举最中间的行,然后设
试图使用贪心性质调整来优化是困难的。不过实际上这个状态设计有相当多的瑕疵,因为很多状态都被重复表示了,我们需要减少重复。发现如果确定了“中轴线”,那么已知行区间
然后
- 在末尾加入,此时
由 转移过来。 - 在开头加入,那么可以找到最后一次缩小的位置,它一定是
在行上对应区间的左端点或者右端点上面的障碍点,所以可以从 和 转移过来。
总时间复杂度为
loj3991. 「IOI2023」山毛榉树
tag:充要条件的推导,感性猜测与理性证明
建议配合官方讲题视频食用。
这是一道推结论题,我们尝试先寻找一些合法子树的性质,即必要条件,然后逐步加强限制,使得条件充分。
对于每种颜色
- 存在子结点使得子结点到父亲的边的颜色为
的结点为序列 的一个前缀。 - 不存在一个结点,使得同时存在两个子结点,它们到父亲的边都为
。
上述结论由定义立得。
第二个条件是容易判断的,下面我们默认其被满足。对第一个条件做一个转述:考虑
那么这个条件是否充分呢?实际上,枚举可以得到满足这个条件却不合法的反例:
可以发现,
所以需要加强限制。我们引入概念“子树包含”:称以
这样似乎非常自然:因为添加节点
- 必要性:假设条件不成立,我们通过模拟添加的过程证明它一定不合法。如果存在
,使得 交叉而无包含关系,不妨设 是在 中更加靠前的结点,那么在正常的加入顺序中, 的颜色 对应的出边的终点一定比 的颜色 对应的出边的终点更加靠前,这是因为对于相同的颜色 ,我们总是选择位置最靠前的结点连接。由于 ,我们找到多出来的节点 ,那么 显然应该接在 子树中对应位置上,因为编号更小。- 结合上面的例子理解,
中多出的 号结点,应该接在 的对应位置 上。
- 结合上面的例子理解,
- 充分性:我们说明满足条件的子树一定存在对应的排列。构造排列是简单的,我们只需要根据包含关系一一加入即可。关键在于,我们需要证明不存在调整的方法使得当前加入的结点
能接到编号更小的结点上。假设 上的边的颜色为 ,等价于说明任意位置比 靠前的结点都存在颜色为 的出边。而根据之前的分析,比 靠前的结点的 的出边对应的子树一定完全包含 的子树,其出现位置一定比 靠前,所以在 加入之前,所有的结点都被占用,所以 只能接到 上。
综上我们证明了结论,下面是如何实现。关键在于判断子树之间的包含关系,实际上,依据
套用启发式合并,复杂度为
loj3992. 「IOI2023」超车
考虑暴力的做法:对于每个
考虑怎么回答询问。注意到被备用巴士拖慢的巴士不影响答案,不妨将它们忽略。我们只需要对于每个调度站,求出备用巴士到达它的时间
考虑优化。发现这是一个经典套路:设
合并两个分段函数有经典的
回答询问的时候只需要二分找到
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】