【资料】【背包九讲】背包问题九讲 (beta) 目录

背包问题九讲 (beta)

此为在线版,如需离线版请点击链接下载 https://files.cnblogs.com/oijzh/dp_pack.rar

前言

本篇文章是我(dd_engi)正在进行中的一个雄心勃勃的写作计划的一部分,这个计划的内容是写作一份较为完善的NOIP难度的动态规划总结,名为《解动态规划题的基本思考方式》。现在你看到的是这个写作计划最先发布的一部分。

背包问题是一个经典的动态规划模型。它既简单形象容易理解,又在某种程度上能够揭示动态规划的本质,故不少教材都把它作为动态规划部分的第一道例题,所以我也将它放在我的写作计划的第一部分。

读本文最重要的是思考。因为我的语言和写作方式向来不以易于理解为长,思路也偶有跳跃的地方,后面更有需要大量思考才能理解的非常抽象的内容。更重要的是:不大量思考,绝对不可能学好动态规划这一信息学奥赛中最精致的部分。

目录

第一讲 01背包问题

这是最基本的背包问题,每个物品最多只能放一次。

第二讲 完全背包问题

第二个基本的背包问题模型,每种物品可以放无限多次。

第三讲 多重背包问题

每种物品有一个固定的次数上限。

第四讲 混合三种背包问题

将前面三种简单的问题叠加成较复杂的问题。

第五讲 二维费用的背包问题

一个简单的常见扩展。

第六讲 分组的背包问题

一种题目类型,也是一个有用的模型。后两节的基础。

第七讲 有依赖的背包问题

另一种给物品的选取加上限制的方法。

第八讲 泛化物品

我自己关于背包问题的思考成果,有一点抽象。

第九讲 背包问题问法的变化

试图触类旁通、举一反三。

beta版说明

为了使更多的人更早看到,现在发布的是本文的beta版,也就是草稿。所以这可能不太精致,偶有错讹,外观格式也并非尽善尽美。希望你能理解我的冒失。

如果有任何意见和建议,特别是文章的错误和不足,或者希望为文章添加新的材料,可以通过http://kontactr.com/user/tianyi/这个网页联系我。

致谢

感谢 Emacs 这一世界最强大的编译器的所有贡献者,感谢它的插件 EmacsMuse 的开发者们。谢谢你们——自由软件社群——为社会提供了如此有生产力的工具。我深深钦佩你们身上体现出的自由软件的精神,没有你们的感召,我不能完成本文。在你们的影响下,采用GFDL的方式发布本文,也是我对自由社会事业的微薄努力。


Copyright (c) 2007 Tianyi Cui

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.

posted @ 2012-08-19 10:05  jiangzh  阅读(307)  评论(0)    收藏  举报