背包问题的综合博客

接下来我说一下,我做过的一些背包的题目:主要来自背包九讲和lyd的算法竞赛进阶指南

首先我们可以通过背包九讲把题目分成一下几类。

我做一下分类:            1:        01背包

                                 2:     完全背包(和01背包没有什么差别,写法上,就是完全背包是正着dp的)

                                 3:     多重背包(主要是考虑它的两种优化,单调队列优化和二进制优化)

                                 4:       混合3个背包(这种类型的题目,就是分三种情况讨论就可以,不用太过担心和考虑)

                                 5:      二维费用背包   (其实和一维费用背包的区别和难度也没有太大的区别和变化,如果二维费用背包的话,也就加一维状态就可以,用线性dp中的一句话可以说,当当前状态如果完全表示这个状态区间时,可以多加一维状态来表示,同时它如果限制取的次数,也可以看作是二维背包的一个限制条件)

                                 6:      分组的背包问题  (比如一个背包组里面只能取一个这样的限制问题)

                                 7:      依赖性背包问题  (如一个物品选择或者不选依赖与它的主件的选择,这样其实就构成一个树形结构,也可以说是树形dp)

                                 8:      背包问题的变化   (如输出方案,在如输出最优方案,再如输出字典序最小的方案,在于求第k优的方案等等)

        

猜你喜欢

转载自www.cnblogs.com/pandaking/p/10222853.html