背包问题(Knapsack problem)

Tags
algorithm
Created
Jan 5, 2019 2:55 AM

https://zh.wikipedia.org/wiki/%E8%83%8C%E5%8C%85%E9%97%AE%E9%A2%98

用背包装总价值最高的物品。

如果限定每种物品只能选择0个或1个,则问题称为0-1背包问题

如果限定物品j最多只能选择bj个,则问题称为有界背包问题

如果不限定每种物品的数量,则问题称为无界背包问题

解法:先塞单价高的,再塞单价低的

// 平常生活中就是这么处理的,还以为正解不止这么简单

// 多列堆砌也可以用类似的方式解决,先排高的项目,后排矮的项目

// 和瀑布流布局(masonry)一样,优先排到当前高度最低的槽中

SuperMade with Super