#P14. 【模板】完全背包

    ID: 497 传统题 1000ms 256MiB 尝试: 9 已通过: 6 难度: 3 上传者: 标签>动态规划一本通在线评测DP完全背包背包问题dp

【模板】完全背包

题目背景

完全背包是经典的动态规划问题,在实际生活与算法竞赛中均有广泛应用。

题目描述

设有 nn 种物品,每种物品有一个重量及一个价值。每种物品的数量是无限的,同时有一个背包,最大载重量为 MM。今从 nn 种物品中选取若干件(同一种物品可以多次选取),使其重量的和不超过 MM,而价值的和为最大。

输入格式

第一行两个整数 MMNN,分别表示背包容量和物品种类数。

接下来 NN 行,每行两个整数 Wi,CiW_i, C_i,分别表示第 ii 种物品的重量和价值。

输出格式

输出一行,一个整数,表示最大总价值。

样例

12 4
2 3
3 4
4 5
5 6
15

提示

样例解释

背包容量为 1212。最优方案:选择 33 个重量为 44、价值为 55 的物品,总重量 4×3=124 \times 3 = 12,总价值 5×3=155 \times 3 = 15。可以证明这是最大值。

数据范围

  • 1M2001 \le M \le 200
  • 1N301 \le N \le 30
  • 1Wi,Ci1001 \le W_i, C_i \le 100