背包问题(Knapsack problem)


用背包装总价值最高的物品。
如果限定每种物品只能选择0个或1个,则问题称为0-1背包问题
如果限定物品j最多只能选择bj个,则问题称为有界背包问题
如果不限定每种物品的数量,则问题称为无界背包问题

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

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

// 多列堆砌也可以用类似的方式解决,先排高的项目,后排矮的项目
// 和瀑布流布局(masonry)一样,优先排到当前高度最低的槽中