背包基本模型

  1. 每个物品只有一个: 0/1背包
    \(f[i][j]=max\{ f[i-1][j],f[i-1][j-V_i]+W_i \}\)

有n个数 构成整数m的方案数

\(f[i][j]=f[i-1][j]+f[i-1][j-a_i]\)

  1. 每个物品有无限个: 完全背包
    \(f[i][j]=max\{ f[i-1][j],f[i][j-V_i]+W_i\}\)

N的正整数划分方案数
\(f[i][j]=f[i-1][j]+f[i][j-i]\)

  1. 每个物品有k个: 多重背包

  2. 把物品分组,每组最多选一个:分组背包
    \(f[i][j]=max{f[i-1][k],f[i-1][j-V_{i,k}]+W_{i,k}}\)

posted @ 2022-02-09 11:19  __iostream  阅读(39)  评论(0)    收藏  举报