. . 背包之 01 背包、完全背包、多重背包详解 BY TANKY WOO 2010 年 07 月 31 日 POSTED IN: 我的原创|MY ORIGINAL CREATION 背包之 01 背包、完全背包、多重背包详解 首先说下动态规划,动态规划这东西就和递归一样,只能找局部关系,若想全 部列出来,是很难的,比如汉诺塔。你可以说先把除最后一层的其他所有层都 移动到 2,再把最后一层移动到 3,最后再把其余的从 2 移动到 3,这是一个直 观的关系,但是想列举出来是很难的,也许当层数 n=3 时还可以模拟下,再大 一些就不可能了,所以,诸如递归,动态规划之类的,不能细想,只能找局部 关系。 1.汉诺塔图片 (引至杭电课件:DP 最关键的就是状态,在 DP 时用到的数组时,也就是存储 的每个状态的最优值,也就是记忆化搜索) 要了解背包,首先得清楚动态规划: 动态规划算法可分解成从先到后的 4 个步骤: 1. 描述一个最优解的结构; 2. 递归地定义最优解的值; 3. 以“ 自底向上”的方式计算最优解的值; 4. 从已计算的信息中构建出最优解的路径。 其中步骤 13 是动态规