2023-6-16 #59 旋转吧旋转吧宇宙一样 永远都不会停止这幻想
——不鱼《清晰人类》
学考结束了!
上一篇博客因为做题断断续续的,题解没写全就先不发。
398 ABC304G Max of Medians
二分答案,判定与 P5592 美德的讲坛 类似,做一个 trie 上的二维 dp,复杂度 。
399 ABC305H Shojin
一段内的顺序一定是最后做 的,其余按照 排序依次做。 的贡献可以最后算,我们将其从序列中去除。
现在只能选择长度不超过 的区间,预处理每个区间的权值。猜测代价关于 有凸性,wqs 二分即可,复杂度 。
400 CF1662J Training Camp
很难的题目,不知道怎么想出来的。
将限制转化为:不存在一个未选择的位置满足,同列比其小与同行比其大的元素均未选,或者对称情况。
一个人类智慧的建图是将每行值相邻的元素连边,每列值相邻的元素连边,限制就变成“不存在一条值依次为 的链”,可以证明其是充要条件。
最小割即可,由于要求只割 个点,我们可以将一条边的边权加上一个 的数保证割的越少越好(至少要割 个点)。
401 CF1184D2 Parallel Universes (Hard)
比我想象中难一点,鸽一会儿。
402 CFgym102992D Degree of Spanning Tree
咋这种题这么多人会???????????????哦原来大家都会乱搞那没事了。
不合法的点至多一个,假设其为 ,我们令 为根考虑调整一些边。
为了减少 的度数我们可以执行以下操作:加入边 ,找到 深度最浅的非 祖先 ,断开 ,可以用并查集维护找祖先的过程。
我们不断执行这种操作直到 的度数恰好为 ,此时若存在一个点不合法,其一定与 相邻(引理:树上任意两个点 满足 ,等号仅能在两点相邻时取到)。
假设这个点是 , 的不合法一定是因为加入了一些边 并且断开了 的祖先。于是我们先将所有有不与 相连的边加入,最后依次考虑每条连接两个 邻居的边,并断开度数较大的邻居。
如果最后产生了不合法点 ,我们考察 加入的最后一条边,另一个点度数大于等于 ,而此时 度数大于 因此一定没有这种情况。复杂度 。
403 CF1666H Heroes of Might
考虑对 根号分治。
显然有一个 exchange argument,如果 较小,会对人数产生变化的边不多,我们提取出关键点做一遍类似 monster hunter 的 exchange argument 即可。
否则 较小,注意到攻击存在 的周期,且如果开始取周期里的元素一定会一次性取完,我们类似快速幂地把所有周期合并即可。
exchange argument 的实现可以维护一个单调栈表示一条链的决策,且从头到尾越来越劣,注意到快速幂合并两个 的单调栈得到的单调栈长度一定也是 的。
复杂度 。
404 CF1584G Eligible Segments
一个很直接的想法是枚举一端,之后每个点会给线段的斜率一个区间限制(注意到夹角区间长度不超过 ,因此求交不会导致区间增多),但是会发现对线段长度的限制与角度有关,不方便刻画。
注意到一个点到一条线段 的距离是到射线 距离与到射线 距离的 ,因此我们不需要管线段长度,只需 均在对方区间内即可,复杂度 。
计算一个点到圆切线的角度:
只需计算两点夹角 ,两点距离 ,则夹角区间为 。
405 CF1178H Stock Exchange
没怎么想,应该仔细想想能会的。
最早的时刻有可二分性,二分时刻判定。
一个结论是只会在 与最终时刻进行交易,于是判定可以贪心地在 时刻换到最终时刻权值最大的股票,然后检查是否能换到目标态,这个贪心是 的。
最小化交易次数可以直接费用流,前后缀优化建图就好了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!