#6970. 封箱验收(inspection)
封箱验收(inspection)
封箱验收(inspection)
题目描述
某物流中心正在进行最终装箱验收。
运输箱的最大承重为 V,共有 n 种货物。
第 i 种货物的重量为 。
仓库的供货规则如下:
- 重量为奇数的货物,可以选择任意非负整数件。
- 重量为偶数的货物,最多只能选择一次。
除此之外,验收系统还要求:所有装入货物的总价值必须为奇数。
在总重量不超过 V 的前提下,求能够获得的最大总价值。
如果不存在合法方案,输出 -1。
输入格式
第一行输入两个整数 V,n。
接下来 n 行,每行输入 。
输出格式
输出最大总价值,无解输出 -1。
输入样例
10 3
3 5
4 7
5 8
输出样例
17
样例解释
选择两件重量为 3、价值为 5 的货物,以及一件重量为 4、价值为 7 的货物。
总重量为 3+3+4=10。
总价值为 5+5+7=17,是奇数,满足要求。
数据范围
- 1≤n≤100
- 1≤V≤2000
- 1≤wi≤2000
- 1≤vi≤10000
| 测试点编号 | 层级 | V |
n |
特殊性质 | 预期输出 | 设计目的 |
|---|---|---|---|---|---|---|
| 1 | 弱数据 | 0 | 空背包、无物品 | -1 |
检查最小容量及不存在奇数总价值的情况 | |
| 2 | 5 | 1 | 偶重量、奇价值 | 3 |
检查偶重量物品只能选择一次 | |
| 3 | 奇重量、奇价值 | 15 |
检查完全背包重复选择及奇偶状态转移 | |||
| 4 | 正常数据 | 10 | 2 | 所有物品价值均为偶数 | -1 |
检查无法构成奇数总价值时的输出 |
| 5 | 完全背包与 0/1 背包混合 | 17 |
检查两类物品组合及价值奇偶变化 | |||
| 6 | 所有重量均为偶数 | 31 |
防止错误地重复选择偶重量物品 | |||
| 7 | 综合数据 | 23 | 6 | 多物品、多种奇偶组合 | 65 |
覆盖混合转移、容量取舍和多步状态更新 |
| 8 | 极限数据 | 100000 | 1 | 大容量、奇重量物品可无限选 | 99899001 |
检查时间性能,并验证最优总价值必须为奇数 |
相关
在以下作业中: