zoukankan      html  css  js  c++  java
  • [DP] Rod-cutting problem

    给一个长度为 n 的杆子,切成小段卖出去,价格根据小段的长度不同而不同。下面是一个例子

    我们要通过切成小段卖出尽可能高的总价钱。问题是:How to decompose the problem?

    Decomposition 的第一步是:第一刀切在哪?可以切在最左边(等于整根卖出去);可以切在位置1,位置2,。。。

    关键的一点是,刀切下去后,左半段就不再切了,继续切右半段。切右半段就变成了一个subproblem。

    Naive Recursion:

    Top-down implementation:

    Bottom-up implementation: 不容易构想,变量 j 是 subproblem's size,从1递增到n,变量 i 用来把每个subproblem 拆分成更小的subproblem,而根据我们这种计算的顺序,当计算 size = j 的时候,< j 的 subproblem 已经计算完毕了。

  • 相关阅读:
    多线程学习
    Redis学习2
    Redis学习1
    封装
    创建对象内存分析
    稀疏数组
    反转数组、冒泡排序
    可变参数
    .net core 3.x Web Api + Docker个人练手项目
    .net 性能优化手段
  • 原文地址:https://www.cnblogs.com/Antech/p/3779721.html
Copyright © 2011-2022 走看看