算法笔记:关于“背包问题”的理解

这是一种思想……

理解了会很畅快,但理不清就会极其堵塞难受。

思想其本质

两种背包问题,一种一件只能选一次;一种一件可以随意选,直到满足条件。
其实两者本质差别在于:是继承?还是跳过?


一个只能选一次的,需要逆向思考,即从大到小进行满足,比如说,背包容量9,现在有四种类型的物品:1 3 5 9;可以选的组合有1 3 5或着单独的9。
如果正向思考,那么之前的会影响之后的,*而要求一类只能选一次的情况下,就不符合,比如选1,那么再计算9 - 1时又会用到之前的1*,所以正向思考,时一类可以多选,逆向则把多选完全排除了。

发布了146 篇原创文章 · 获赞 42 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/SmartLoveyu/article/details/99055662