关闭

SDAU 编程练习三 动态规划和动态规划与背包问题相结合的问题

标签: 动态规划背包问题
214人阅读 评论(0) 收藏 举报
分类:

  动态规划:

     对于这类问题,可将过程分为若干个互相联系的阶段,在他的每一个阶段都需要做出决策,从而使整个过程到达最好的活动效果,当然啦,各个阶段决策的选取不是任意的哦,他依赖于前面相林的状态,又影响以后的发展,当各个决策都确定时,就组成一个决策序列啦,就可以了。。。就是一种多阶段决策问题。。

   在动态规划问题中最重要的就是状态转移方程了哈,状态转移方程要满足最优性原理,只要列出来了满足条件的状态转移方程题目就ok了(最优性原理实际上就是要求问题的最优策略的子策略也是最优的)。。。。


动态规划与背包问题相结合:

      01背包问题:只考虑i件物品放与不放就可。状态转移方程为  (for i=1'。。n    for    v=V..0  f[v]=max{f[v],f[v-c[i]]+w[i]}   ;)

      完全背包问题:每个物品都有无数件,既要考虑i件放于不妨,还要考虑放多少,状态方程与01不同的是二重循环从0到V(for i=1'。。n    for    v=0。。V  f[v]=max{f[v],f[v-c[i]]+w[i]}   ;)

      多重背包问题:每个物品有多件但不为无数件,既要考虑i件放于不妨,还要考虑放多少。可以运用二进制思想进行优化啦。。。。

        分组背包问题:  有多组物品,每组只能选择一个物品,只要先不考虑租的问题,就类似于01背包问题了。。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:95107次
    • 积分:1923
    • 等级:
    • 排名:千里之外
    • 原创:98篇
    • 转载:19篇
    • 译文:0篇
    • 评论:44条
    最新评论