动态规划法例题

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

先选择价值最大的物品,有两个价值是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)

相关推荐
鱼跃鹰飞7 分钟前
Leetcode面试经典150题-148.排序链表
算法·leetcode·链表·面试
hummhumm20 分钟前
数据库系统 第58节 数据库审计
网络·数据库·python·算法·oracle·java-ee·database
summ1ts1 小时前
P3489 [POI2009] WIE-Hexer
c++·算法·图论·dijkstra·状态压缩
rylzdz2 小时前
JVM四种垃圾回收算法以及G1垃圾回收器(面试)
jvm·算法·面试
水木流年追梦2 小时前
【python因果推断库15】使用 sci-kit learn 模型进行回归断点分析
人工智能·python·算法
松小白song2 小时前
struct 和 union 的区别
算法
Eloudy3 小时前
roctracer 的应用示例
c++·算法·rocm
eeee~~3 小时前
用Pytho解决分类问题_DBSCAN聚类算法模板
python·算法·数学建模·分类·聚类·dbscan聚类
Kenneth風车3 小时前
【机器学习(六)】分类和回归任务-LightGBM算法-Sentosa_DSML社区版
人工智能·算法·低代码·机器学习·数据分析