【题解】CF1949B | 二分答案 霍尔定理
本题可以做到低于 。
最大化最小值,考虑二分答案 变为检查可行性:每个主菜匹配的开胃菜的两个值都要在 间选取,问是否存在主菜与开胃菜的完美匹配。
对开胃菜排序,得到第 个主菜可以匹配到的开胃菜集合为一个后缀和一个前缀:。
做法一
考虑使用霍尔定理检查完美匹配:枚举 并检查 的最小值是否为 ,其中 表示与左部点 存在连边的右部点集合。
枚举 是困难的, 总共有 种,不妨枚举 ,并考虑最大的 ,首先 一定是若干前缀和后缀的并,所以 的形态为 。
枚举 ,,对于一个 最大的 即 所有点 满足存在连边的右部点 的 构成的集合,即 ,直接做可以 。
使用线段树在扫描 时维护 的答案,支持区间加区间最值,容易做到 。
做法二,还能再快一点。
该问题弱于 AGC076F,使用反悔贪心即可。时间复杂度 ,注意到每个点不能匹配的区间是单调的,所有优先队列可以换成队列,时间复杂度 。
本文已经结束了。本文作者:ღꦿ࿐(DeepSea),转载请注明原文链接:https://www.cnblogs.com/Dreamerkk/p/18259513,谢谢你的阅读或转载!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步