#6969. 双类装箱(package)

双类装箱(package)

双类装箱(package)

题目描述

某实验室准备将一批仪器装入运输箱。

现有 n 件不同的仪器,每件只能放入一次。

第 i 件仪器的重量为 wi,价值为viw_i,价值为 v_i。

运输箱最大承重为 V。

为了满足检测要求,运输箱中必须同时包含:

  • 至少一件重量为奇数的仪器;
  • 至少一件重量为偶数的仪器。

在总重量不超过 V 的情况下,求可以获得的最大总价值。

如果不存在符合要求的装箱方案,输出 -1。

输入格式

第一行两个整数 V,n。

接下来 n 行,每行输入 wi,viw_i,v_i。

输出格式

输出最大总价值,无解输出 -1。

输入样例

10 4
3 6
4 9
5 10
2 4

输出样例

20

样例解释

选择重量为 3、5、2 的三件仪器。

总重量为 10,既包含奇数重量仪器,也包含偶数重量仪器。

总价值为 6+10+4=20。

数据范围

  • 1≤n≤100
  • 1≤V≤2000
  • 1≤wi≤2000
  • 1≤vi≤10000
测试点编号 层级 V n 标准输出 数据特征 主要覆盖点
1 弱数据 1 -1 仅有一个奇数重量物品 最小规模、缺少偶数重量物品
2 3 2 11 一奇一偶,重量和恰好为容量 基础可行方案、恰好装满
3 12 4 -1 所有物品重量均为奇数 无解判断、状态 mask=3 不可达
4 正常数据 5 90 单件最高价值物品无法与另一奇偶类组合 容量限制、不能贪心选择单件最高价值
5 10 2 9 最优方案只使用重量 3,远小于容量 容量是上限、0/1 物品不能重复选择
6 7 30 多种奇偶重量组合竞争 常规背包组合优化、状态转移正确性
7 强化数据 15 10 70 存在重复重量和多个价值不同的候选物品 同重量取舍、多物品组合、恰好装满
8 较大数据 1000 30 6525 重量、价值递增且组合较多 较大容量、完整状态更新、最优方案恰好使用容量 1000