算法设计与分析基础 第八章谜题 您所在的位置:网站首页 最短路径方法组合 算法设计与分析基础 第八章谜题

算法设计与分析基础 第八章谜题

2024-07-17 00:36| 来源: 网络整理| 查看: 265

习题8.1

6.切割木棍问题 为下列问题设计一个动态规划算法。已知小木棍的销售价格pi和长度i相关,i=1,2,…,n,如何把长度为n的木棍切割为若干根长度为整数的小木棍,使得所获得的总销售价格最大?该算法的时间效率和空间效率各是多少?

解答:令长度为n的木棍能获得的最大价格为profit[n],递推公式为:profit[n] = max(pi[i] + profit[length - seg[i]]), 其中i = 1,2,3,...n;边界条件profit[0]=0。

#include using namespace std; //自底向上,两个循环,不用递归; int main() { int n = 10; int price[11] = { 0, 1, 7, 8, 9, 10, 17, 17, 20, 23, 24 }; int *r = new int[n + 1]; for (int i = 0; i


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有