zoukankan      html  css  js  c++  java
  • 背包问题(一)

    背包问题是一个经典的动态规划模型。现将我理解的写出来。

    1、01背包问题

    题目:有N件物品和一个容量为V的背包。第i件物品的价值是c[i],重量是w[i]。求解将哪些物品装入背包可使价值总和最大。

    基本思路:这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。

    用子问题定义状态:即f[i][v]表示前i件物品恰好放入一个容量为V的背包可以获得的最大价值,其状态转移方程便是:

    f[i][v] = max{f[i-1][v],f[i-1][v-w[i]  + c[i]];

    对于一个物品,只有来那个中情况:

    1:第i件不放进去,这时所得价值:f[][i-1][v]

    2:第i件放进去,这时所得价值:f[i-1][v-w[i]] + c[i]

  • 相关阅读:
    Unable to load dbxmss.dll (ErrorCode 16). It may be missing from the system Path
    同一网内机器无法连通解决一例
    Day.24
    Day.24
    Day.23
    Day.22
    Day.23
    Day.21
    Day.22
    Day.01-Day.20
  • 原文地址:https://www.cnblogs.com/westlife-11358/p/10032742.html
Copyright © 2011-2022 走看看