把博客园图标替换成自己的图标
把博客园图标替换成自己的图标end

题解 SP90 MINIMAX - Minimizing maximizer

传送门SP90 MINIMAX - Minimizing maximizer

题意

对于有个长度为 n 的序列,最大值在位置 1,有 k 个“排序器”,第 i 个可以将 liri 之间的数字排序。
求最少选择多少个排序器可以使得序列的最后一个数就是序列最大值(“排序器”的先后顺序不能改变)。

简要分析

很明显这道题的答案与序列无关(连序列都没有给)。
每次操作就相当于将 lr 之间的数字最大值转移至 r
看最少多少次可以到 n 处。

暴力

尽管暴力没有部分分,但是敲一下暴力有助于梳理代码思路及更方便优化(隐语:不知道暴力是不是对的)。

fi 表示数值最大值到达 i 处的最小花费。
对于每次操作进行转移,

  • 若使用这个“排序器”,fr=mini=lir+1
  • 否则,不变。

正解

正解其实已经非常明显了,我们需要维护区间查询最值+单点修改,这也就表示我们可以用线段树来解决。
维护一个线段树来优化上式的 DP 就好了。

警钟:要判断输入的 lr 的大小关系。

posted @   djh0314  阅读(4)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
浏览器标题切换
浏览器标题切换end
点击右上角即可分享
微信分享提示