Replace on Segment
看了一下数据范围就知道是区间DP
像这种选择区间的操作,我们一般都会猜一个结论:对区间
实际上,这道题目也是有类似的性质的
然后放一下正式证明,有兴趣就看一下吧
然后我们就可以设出一个状态:设
然后枚举分段点转移即可
但是就像我们上面说的这样,可以使存在一种操作覆盖全部区间的
假设这个操作是将这个区间改成
所以我们设
一种转移方式当然是枚举分段点(就像我们上面说的这样,如果没有某一次操作是覆盖整个区间的话)
如果某一次操作是覆盖整个区间了,那么最后一次操作一定是覆盖整个区间的操作,而且这次操作显然不是将区间变成
以上操作存在循环转移,为了避免类似情况,我们先进行分段点的转移,然后记录最小值,显然这个最小值不会再改变,然后利用这个最小值去改变区间状态(第二种转移)
这个思想非常秒,可以记住
update 2024.8.29
这道题目就与涂色是一样的
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构