Making the Grade 路面修整

「POJ 3666」Making the Grade 路面修整

1 算法标签

dp动态规划,滚动数组优化

2 题目难度

提高/提高+

3 题面

「POJ 3666」Making the Grade 路面修整

4 分析题面

4.1 简要描述

给出数列 A A A, 求非严格单调不上升或单调不下降, 且 S = ∑ i = 1 N ∣ A i − B i ∣ S=\sum^N_{i=1}|A_i-B_i| S=i=1NAiBi 最小的序列 B B B,输出 S S S

4.2 模型转换

输入N, 然后输入N个数,求最小的改动这些数使之成非严格递增或非严格递减即可

5 问题分析

以B为非严格单调递增为例

考虑已经选了 n n n个数

  • n = 1 n=1 n=1 A 1 = B 1 A_1=B_1 A1=B1 S S S最小为 ∣ A 1 − B 1 ∣ |A_1-B_1| A1B1

  • n > 1 n>1 n>1,前面已经选择了 n − 1 n-1 n1个数,取得了最小值,考虑怎么取第 n n n个数

    • A i ≥ B i − 1 A_i≥B_{i-1} AiBi1 B i = A i B_i=A_i Bi=Ai显然最优

    • A i < B i − 1 A_i<B_{i-1} Ai

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值