注意到选取包含 2 个 0 的序列一定不符合条件,因为如果把 2 个 0 一个分到前缀一个分到后缀,那么前缀 min 为 0,后缀 mex 大于 0,不满足条件。
同时,可以发现如果没有选 0,那么一定满足条件,因为前缀 min 一定大于 0,而后缀 mex 一定为 0。
记序列中的 0 的数量为 cnt,那么答案一定为 n−cnt 或 n−cnt+1。
那么接下来就是判断答案是否选了 0,不难发现,如果选 0,那么选第一个 0 一定不劣,因为包含 0 的前缀一定满足条件,选第一个 0 可以保证包含 0 的前缀最多,此时检查选第一个 0 和其他所有非 0 的元素是否合法,如果合法答案为 n−cnt+1,否则为 n−cnt。
Link。
下次发个F的题解让我学学吧qwq
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】