【CF1463F】Max Correct Set(结论)
题意:
给定 ,求最大的 使得 且对于任意 有 且 。
,。
题解:
直接上结论:
-
对于一个长为 的合法方案,它重复若干次得到的方案也是合法的。
证明:否则若出现非法情况,即存在 在相邻两段都被选了且 ,那么考虑 对应的上一段的也被选了的位置 ,发现 。这是段内的非法情况,矛盾。
-
最优方案一定是某长为 的方案重复无限次后的前缀。
证明:设 。据此,我们将任意合法方案按如图 A 方式划分为段:
设每一段中被选的元素数量分别为 。找到使得 最大的 ,那么考虑用第 段和第 段对应地去替换其他段,根据第一个结论可知替换后方案仍然是合法的。
然后考虑证明替换后答案不劣。不妨设 为奇数(偶数同理),如图 B,根据定义可知绿色段都小于等于红色段,所以绿色段部分整体是不劣的。而根据 ,可知第 段被第 段替换后也是不劣的。从而整体的答案是不变小的。
那么现在只需知道这个长为 的方案是什么即可。总贡献相当于给该方案前 个数赋权为 而给剩下的后 个数赋权为 。
连边 ,我们要求的实际上是该图的最大权独立集。而注意到在只考虑前 个数的情况下,每个数恰好有两条邻边( 恰有一者在 中, 也是恰有一者在 中),从而该图是若干个环。而环上的最大权独立集是容易线性求得的。
总时间复杂度 。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现