动态规划法例题

第一个空,用手工计算,可以用贪心法

先选择价值最大的物品,有两个价值是6的物品,重量合计2+4=6

剩余4个空间,只能放重量为2的物品,一共是6+6+3=15

第二个空,需要将所有物品都放进背包舱室,假定物品数量为n,背包空间为w,时间浮渣度是O(nw)

第三个空

部分背包使用归并排序,手工计算,先计算出各个物品1个重量的价值

分别是3,1.5,5/6,0.8,1.5.

首先选择单位价值最大的,单位价值是3的物品。重量是2

接着选择单位价值次大的,单位价值是1.5,重量分别是2和4,一共占用了2+2+4=8

剩下两个重量,选择单位价值是5/6的,总价值是=2*3+2*1.5+2*1.5+2*5/6=16.67

第四个空

每次计算各个物品的单位价值时间复杂度是O(logn)

每个物品都放背包里,时间复杂度是O(n)

时间复杂度是O(nlogn)

相关推荐
Ymmmm__18 分钟前
leetcode动态规划—买卖股票系列
算法·leetcode·动态规划
极光雨雨20 分钟前
【算法】贪心算法
算法·贪心算法
asom2221 分钟前
LeetCode Hot100(动态规划)
算法·leetcode·动态规划
编程绿豆侠25 分钟前
力扣HOT100之动态规划:300. 最长递增子序列
算法·leetcode·动态规划
心软且酷丶26 分钟前
leetcode:7. 整数反转(python3解法,数学相关算法题)
python·算法·leetcode
庄小焱31 分钟前
设计模式——简单工厂模式(创建型)
java·服务器·算法
王禄DUT38 分钟前
防疫大数据 第27次CCF-CSP计算机软件能力认证
大数据·c++·算法
苏荷水1 小时前
day14 leetcode-hot100-25(链表4)
算法·leetcode·链表
TT哇1 小时前
【位运算】常见位运算总结
java·算法