1 条题解
-
0
题解
思路
若把一个连续段全部变成该段最小值,长度为 的段恰需 次操作:从最小值位置逐步向两侧传播即可。任意操作结果也可按最终相同值的连续块划分,因此只需决定数组的分段方式。
做法
令 表示处理前 个元素、使用 次操作的最小和。枚举最后一段长度 ,其中 ,维护这段的最小值 ,转移为
最终取 的最小值。
正确性证明
长度为 的连续段可以从段内最小元素开始,以 次相邻复制把整段变为最小值,且任何更小段和都不可能低于 倍原段最小值。另一方面,任意操作序列中相同来源值传播到的位置形成连续块;每个长度为 的块至少使用 次复制。动态规划枚举最后一块的全部长度和操作数,故既能构造每个转移,也覆盖所有最优结果。取不超过 次操作的最小值即为答案。
复杂度分析
时间复杂度 ,空间复杂度 。
- 1
信息
- ID
- 1133
- 时间
- 2000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 0
- 上传者