#P1757. 通天之分组背包(Grouped Knapsack)

0
    ID: 8435 传统题 1000ms 128MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>P1757背包 DP 进阶分组背包动态规划CSP-JCSP-S

通天之分组背包(Grouped Knapsack)

通天之分组背包(Grouped Knapsack)

题目描述

自 0101 背包问世之后,小 A 对此深感兴趣。一天,小 A 去远游,却发现他的背包不同于 0101 背包,他的物品大致可分为 kk 组,每组中的物品相互冲突,现在,他想知道最大的利用价值是多少。

输入格式

两个数 m,nm,n,表示一共有 nn 件物品,背包能承受的最大重量为 mm。

接下来 nn 行,每行 33 个数 ai,bi,cia_i,b_i,c_i,表示物品的重量,利用价值,所属组数。

输出格式

一个数,最大的利用价值。

样例输入 #1

45 3
10 10 1
10 5 1
50 400 2

样例输出 #1

10

数据范围

对于 100%100\% 的数据,0≤m≤10000 \le m \le 1000,1≤n≤10001 \le n \le 1000,1≤k≤1001 \le k \le 100,ai,bia_i, b_i 为非负整数且 0≤ci≤1040 \le c_i \le 10^4。

知识点与难度

本题涉及的知识点从属于 CSP-J,难度(CF Rating):1200。


测试点分布

Subtask 分值 测试点编号 说明
0 10 1 样例
1 20 2~8 小规模 m,n≤30 / 特殊: 所有物品同属1组 / 特殊: 每组仅1件退化01背包
2 15 9~11 Hack: 同组多件0重量物品防重复选 / Hack: 组号不连续含0与10000 / Hack: m=0容量为零
3 30 12~20 中规模 m,n≤300 / 大规模 m=1000,n=1000,k=100 分组背包压力
4 25 21~25 随机 m,n≤1000 回归

出处:原题链接