博客
关于我
Making the grade 和Sonya and Problem Wihtout a Legend
阅读量:380 次
发布时间:2019-03-05

本文共 506 字,大约阅读时间需要 1 分钟。

为了将给定的序列转换为非递减序列并最小化调整成本,我们可以使用离散化和动态规划的方法。以下是详细的步骤说明:

  • 离散化处理

    • 将原序列中的每个元素减去其索引i,得到新的序列b。
    • 对b进行排序并去重,得到离散化后的数组b_sorted。
  • 动态规划表的初始化

    • 创建一个二维数组d,其中d[i][j]表示处理前i个元素后,最大值不超过b_sorted[j]时的最小调整成本。
    • 初始化d[0][0] = 0,其他d[0][j]为一个很大的值(如INF)。
  • 动态规划表的填充

    • 对于每个i(从1到n),遍历离散化后的每个j(从1到m)。
    • 计算将第i个元素调整为b_sorted[j]的成本:cost = d[i-1][j] + |a[i] - b_sorted[j]|
    • 如果这个成本小于d[i][j],则更新d[i][j]为cost。
    • 另外,比较将第i个元素调整为b_sorted[j-1]的情况,取较小的成本作为d[i][j]。
  • 结果提取

    • 最终答案为d[n][m],即处理完所有元素后,最大值不超过最大的离散化值时的最小调整成本。
  • 通过这种方法,我们能够高效地找到满足非递减条件的最优调整方案,同时控制调整成本的上升。

    转载地址:http://wtwzz.baihongyu.com/

    你可能感兴趣的文章
    Linux 磁盘管理(df fu fdisk mkfs mount)
    查看>>
    jQuery的事件绑定与触发 - 学习笔记
    查看>>
    Linux上TCP的几个内核参数调优
    查看>>
    记一次讲故事机器人的开发-我有故事,让机器人来读
    查看>>
    seo 回忆录百度基本概念(一)
    查看>>
    kettle 执行 kjb 临时文件夹 /tmp permission denied 问题
    查看>>
    netcore中使用session
    查看>>
    Android 开发学习进程0.25 自定义控件
    查看>>
    多媒体文件格式全解说(下)--图片
    查看>>
    淘宝WAP版小BUG分析
    查看>>
    asp.net打印网页后自动关闭网页【无需插件】
    查看>>
    【Maven】POM基本概念
    查看>>
    【Java思考】Java 中的实参与形参之间的传递到底是值传递还是引用传递呢?
    查看>>
    【设计模式】单例模式
    查看>>
    远程触发Jenkins的Pipeline任务的并发问题处理
    查看>>
    entity framework core在独立类库下执行迁移操作
    查看>>
    Asp.Net Core 2.1+的视图缓存(响应缓存)
    查看>>
    【wp】HWS计划2021硬件安全冬令营线上选拔赛
    查看>>
    Ef+T4模板实现代码快速生成器
    查看>>
    JQuery选择器
    查看>>