混合背包问题

测试数据来自 system/2563

作业已超过截止时间,您无法递交本题目。

时间限制:1秒  内存限制:256M


【题目描述】

  有 \(N\) 种物品和一个容量是 \(C\) 的背包。

  物品一共有三类:

  第一类 物品只能用 1 次(01背包);
  第二类 物品可以用无限次(完全背包);
  第三类 物品最多只能用 \(s[i]\) 次(多重背包);
  每种体积是 \(v[i]\),价值是 \(w[i]\)。

  求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。

【输入格式】

  第一行两个整数:\(N,C\),用空格隔开,分别表示物品种数和背包容积。
  接下来有 \(N\) 行,每行三个整数 \(v[i],w[i],s[i]\),用空格隔开,分别表示第 \(i\) 种物品的体积、价值和数量。
   \(s[i]=−1\) 表示第 \(i\) 种物品只能用 1 次;
   \(s[i]=0\) 表示第 \(i\) 种物品可以用无限次;
   \(s[i]>0\) 表示第 \(i\) 种物品可以使用 \(s[i]\) 次;

【输出格式】

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

【输入输出样例】

 Input

4 5
1 2 -1
2 4 1
3 4 0
4 5 2

 Output

8

【数据限制】

  \(0<N,C≤1000\)
  \(0<C≤10000\)
  \(0<vi,pi≤1000\)
  \(−1≤s[i]≤1000\)

【来源】

  Mr.he

动态规划之最优子集练习题

未认领
状态
已结束
题目
10
开始时间
2025-02-13 00:00
截止时间
2025-03-31 23:59
可延期
24.0 小时