CF1693D题解
很妙的dp
题。
首先肯定要想判断一个序列是否合法。
第一篇题解的结论太强了,蒟蒻只能想到dp
。
设
- 起点:
。 - 转移:
若 能接到上升段(即 ),则 。
若 能接到下降段(即 ),则 。
那么暴力枚举子段,用上述
考虑优化,假设固定左端点,那么合法的右端点只能是一个前缀,右端点右移的时候进行转移,优化为
观察上面的
有一个很神奇的性质:
对于所有左端点,
证明:
对于
如果不存在
对于
于是每个点都最多被更新
很妙的dp
题。
首先肯定要想判断一个序列是否合法。
第一篇题解的结论太强了,蒟蒻只能想到dp
。
设
那么暴力枚举子段,用上述
考虑优化,假设固定左端点,那么合法的右端点只能是一个前缀,右端点右移的时候进行转移,优化为
观察上面的
有一个很神奇的性质:
对于所有左端点,
证明:
对于
如果不存在
对于
于是每个点都最多被更新
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下