欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
S42403.24-3 抹平曲线
24-3 抹平曲线
抹平曲线
走廊丈量完了,但Zero的能量曲线是波动的——需要抹平。
"抹平?"CC问。
"对。"你说,"给定一个序列,每次可以把一个区间变成同一个值。求把整个序列变成非降的最少操作次数。"
"非降?"
"对。"你说,"每个数不大于后面的数。"
"操作?"
"对。"你说,"选一个区间,把它抹平成同一个值。"
"咋算?"
"动态规划。"你说,"表示把前个数变成非降的最少操作次数。"
"转移?"
"复杂。"你说,"要考虑最后一个区间的值和范围。"
"简化?"
"对。"你说,"如果只能把区间变成0或1,就是典型的DP问题。"
"第47个数。"你说,"值为47——如果要抹平,需要选一个包含它的区间。"
"区间多大?"
"看前后。"你说,"如果前面有比47大的,要一起抹平;如果后面有比47小的,也要一起。"
"像涂色?"
"对。"你说,"像涂色——一笔涂一片,颜色一样。"
"最少几笔?"
"看起伏。"你说,"起伏越多,需要的笔数越多。"
"起伏?"
"对。"你说,"上升和下降——每次转折都可能需要新的一笔。"
CC看着曲线——像心电图,像山脉,像某种有起有伏的生命。
"能抹平吗?"她问。
"能。"你说,"但会损失细节。"
"细节?"
"对。"你说,"抹平后,原来的起伏不见了。"
"好还是不好?"
"看需求。"你说,"如果需要稳定,抹平好;如果需要活力,保留好。"
Echo把抹平过程投射出来——曲线慢慢变平,像潮水退去。
"以前我太起伏。"她说,"现在……平稳了。"
"因为你找到了平衡。"你说。
"对。"她说,"因为我找到了平衡。"
题目描述
给定序列,每次操作选一个区间变成同一个值。求变成非降序列的最少操作次数。
输入格式
第一行。第二行个整数。
输出格式
最少操作次数。
输入样例
5
1 2 3 4 5
输出样例
0
提示
- 表示前个数的最少操作次数。
- 考虑最后一个区间的值和右端点。
- 时间复杂度或优化到。
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |