《背包问题九讲》最新版:http://pan.baidu.com/share/link?shareid=1551089879&uk=638124334
感觉最近越来越水啦!好吧,彩笔水背包去。
一、01背包问题(2013.07.18~)http://acm.hust.edu.cn/vjudge/contest/view.action?cid=26572#overview
poj 3624 Charm Bracelet AC 解题报告
poj 3628 Bookshelf 2 AC 解题报告
poj 3211 Washing Clothes AC 解题报告
poj 1745 Divisibility AC 解题报告
poj 1976 A Mini Locomotive AC 解题报告
poj 2923 Relocation
poj 1837 Balance
poj 1948 Triangular Pastures
Hdu 2602 Bone Collector AC 解题报告
Poj 3624 Charm Bracelet
Hdu 2546 饭卡 AC 解题报告
Uva 624 CD
Uva 562 Dividing coins AC 解题报告
Hdu 2955 Robberies AC 解题报告
Poj 2184 Cow Exhibition
Hdu 2639 Bone Collector II
Hdu 3466 Proud Merchants
Hdu 2126 Buy the souvenirs
Hdu 4281 Judges' response
二、完全背包问题(2013.07.27~)http://acm.hust.edu.cn/vjudge/contest/view.action?cid=27443#overview
poj 2063 Investment
多次的完全背包 AC 参考代码
poj 1384 Piggy-Bank
完全背包入门题,这题要求刚好装满的最小价值 AC 参考代码
poj 1252 Euro Efficiency
这题可以用完全背包,还是比较有意思的模型,参考题解
Uva 674 Coin Change
完全背包求解方案数问题,只有5种硬币,基础题。
Uva 147 Dollars
上一题的加强版,硬币有11种,另外这题用double输入,要考虑精度问题。
Poj 3181 Dollar Dayz
必须 用高精度模拟的完全背包。
Poj 1787 Charlie's Change
这题本来是多重背包的题目,但是完全背包求解速度奇快。
Poj 3260 The Fewest Coins
(推荐,较综合) 完全背包和多重背包混合题,先用完全背包预处理煤老板找钱的最小硬币数,再用多重背包求用到的最小硬币数。
3623 Battle Ships
建塔打大怪兽,有n种塔,任意建多少个,建塔有时间,建好的塔可以一直打怪兽。把时间当作容量,把打对方多少血当作价值。
Zoj 3524 Crazy Shopping
(推荐) 拓朴排序+完全背包,先拓朴排序,注意可能有好几个起点,然后按照拓扑序转移,每转移一次就对下一个点进行完全背包,同时注意更 新所用的能量。
Zoj 3662 Math Magic
刚结束的长春区域赛的H题,把每个m的因子当作物品,要求我们随便选k个物品,使得这些物品的总和为n,Lcm为m。dp[i][j][k]表示选了i个物品,和为jlcm为k的方案数,具体做法是先预处理找出m的所有因子,这样不管怎么选,最后都有可能Lcm为m,免除很多无必要的计算,然后用这类背包的方法进行转移。
三、多重背包问题(2013.07.28~)http://acm.hust.edu.cn/vjudge/contest/view.action?cid=27501#overview
Hdu 1059 Dividing&Zoj 1149 & poj 1014 Dividing
简单多重背包 AC 模板代码
Hdu 2191
悼念512汶川大地震遇难同胞——珍惜现在,感恩生活标题超长超简单的多重背包,可用01背包求解。
Poj 1276 Cash Machine AC 参考题解
多重背包。
poj 2392 Space Elevator
这题是普通的多重背包,就是得先排序,AC 参考题解
poj 1276 Cash Machine
多重背包+倍增优化,已经会了就没多大意义,参考题解
poj 1742 Coins
多重背包可行性问题,楼大叔的题= =,参考题解
poj 3260 The Fewest Coins
多重背包+完全背包,参考题解
hdu 1171 Big Event in HDU
多重背包可行性,已经会的就不用做了,参考题解
zoj 2156 Charlie's Change
多重背包+倍增优化+记录路径,不会记录路径的可以做一下,参考题解
Zoj 3164 CookieChoice(新增了队列优化和泛化物品的合并)
多重背包+分组背包,比较复杂的一道题,参考题解
徐持衡 《浅谈几类背包题》
四、分组背包问题(2013.07.28~)http://acm.hust.edu.cn/vjudge/contest/view.action?cid=27503#overview
hdu 1712 ACboy needs your help
分组背包入门题 AC 解题报告
Hdu 3033 I love sneakers! xx买鞋问题,分组背包的变形,每种牌子至少选一双,这与分组的最多选一个不一样,但思想一样,物品为每种牌子的各种鞋子。参考题解
Poj 1837 Balance平衡问题,把每个砝码在每个位置的权值算出来,每个砝码一个分组,几个位置几个物品,最后求的是价值和为0的方案数。
Poj 3211 Washing Clothes
每种颜色的衣服的分到一组,费用是洗一件衣服的时间,每组求解出最少时间,再逐组累加起来。AC 参考代码
Hdu 3810 Magina(推荐,综合) 搜索加分组背包,分组背包必须用单调队列模拟,因为容量特别大,没办法按照常规进行转移。
Hdu 3535 AreYou Busy (推荐,混合背包),各种背包混合,要求对01、完全、多重背包都有深入的理解。参考题解
hdu 3496 Watch The Movie
普通的二维背包,参考题解
poj 3093 Margaritas on the River Walk
01背包统计方案数,参考题解
五、树形背包问题(在树上进行分组背包处理)http://acm.hust.edu.cn/vjudge/contest/view.action?cid=27505#overview
Poj 1155 TELE 把每个节点的子节点看成一组背包,最大容量是这点的叶子子孙数量,选几个节点就是选择的容量,价值就是用户给的Money-中转费用。解题报告Here
Hdu 1011 Starship Troopers和上题相似,要选择父节点必先子节点,特判m为0的时候。
Poj 1947 Rebuilding Roads求最少删除几条边使得子树节点个数为p,具体的模型和上题很像。解题报告Here
Hdu 1561 The more, The Better在一棵树上选择若干个点获得的最大价值,选子节点必须先选父节点,求解情况和上两题相同。解题报告Here
Hdu 4003 Find Metal Mineral (推荐,好题)树形DP+选且只能选一个物品的分组背包,状态转移方程难想。解题报告here
Poj 2486 Apple Tree树形DP+分组背包,但是状态转移方程要分三步,较为难想。解题报告Here
Poj 3345 Bribing FIPA 树形DP+分组背包,和前面几题相比没有特殊的地方,只是要注意输入。具体可见Here
Hdu 4044 GeoDefense树形DP+分组背包,要求从每个儿子结点获取最小的hp,然后找这些儿子的最大组合,不是特别好想。解题报告见Here
Zoj 3627 Treasure Hunt II 树形DP +分组背包,浙大月赛的水题,很普通的树形背包。
bsoj 1660选课
比较经典的一道题,参考题解
bsoj 1512金明的预算方案
树型DP,跟上面那道类似,不过需要优化,参考题解
hdu 4303 Hourai Jeweled树型DP+统计答案,参考题解