#6986. 巡检安排(inspection)
巡检安排(inspection)
巡检安排(inspection)
题目描述
某研究基地需要安排一批巡检任务。
基地共有 (m) 天的巡检资源消耗标准,第 (i) 天的消耗标准为。
现有 (n) 个候选巡检任务。
第 (i) 个任务由三个整数 描述。
执行该任务,需要在从第 天的每一天进行巡检。
任务消耗的资源数量为这些天的资源消耗标准之和,完成后可以获得 (v_i) 的收益。
基地只有一支巡检队,因此两个被选择的任务不能包含相同的日期。
也就是说,如果选择了两个不同的任务,它们对应的日期区间必须完全不重叠。
每个任务最多执行一次。
基地共有 (V) 单位资源,要求所有选择任务的总资源消耗不超过 (V)。
请计算可以获得的最大总收益。
输入格式
第一行包含三个整数 (m,n,V)。
第二行包含 (m) 个正整数 (a_i)。
接下来 (n) 行,每行包含三个整数 (L_i,R_i,v_i)。
输出格式
输出一个整数,表示最大总收益。
输入输出样例 #1
输入
6 5 11
2 1 3 2 1 2
1 2 5
2 4 9
3 4 8
5 6 7
4 5 6
输出
20
样例解释
可以选择第 1、3、4 个任务。
它们对应的日期区间分别为:
- 第 1 个任务:1,21,2
- 第 3 个任务:3,43,4
- 第 4 个任务:5,65,6
三个区间互不重叠。
资源消耗分别为 3、5、3,总消耗为 11。
总收益为 (5+8+7=20)。
数据范围
| 测试点编号 | 层级 | m |
n |
V |
数据特征 | 标准输出 | 设计目的 |
|---|---|---|---|---|---|---|---|
| 1 | 弱数据 | 1 | 5 | 单个任务恰好使用全部资源 | 10 | 检查最小规模与基础状态 | |
| 2 | 边界数据 | 3 | 3 | 前缀和超过 int,所有任务均超预算 |
0 | 检查大前缀和和费用过滤 | |
| 3 | 基础数据 | 5 | 三个任务两两不冲突 | 13 | 检查多个兼容任务连续选择 | ||
| 4 | 正常数据 | 5 | 包含相同结束日期、嵌套和交叉区间 | 23 | 检查结束日期排序、编号并列规则及前驱计算 | ||
| 5 | 边界数据 | 4 | 3 | 4 | [1,2]、[2,3]、[3,4] 共享端点 |
40 | 检查共享日期仍视为冲突 |
| 6 | 正常数据 | 6 | 4 | 6 | 输入顺序与结束日期顺序相反 | 45 | 检查排序后进行区间调度 |
| 7 | 较强数据 | 3 | 8 | 三个任务互不冲突,但资源只能支持两个 | 63 | 检查区间兼容与背包容量共同限制 | |
| 8 | 边界数据 | 5 | 5 | 1 | 包含多个零费用任务和重叠区间 | 31 | 检查零费用任务仍受区间冲突约束 |
| 9 | 极限价值 | 4 | 2000 | 四个单日任务收益均为 2×10⁹ |
8000000000 | 检查多个兼容任务及 long long 累加 |
|
| 10 | 极限规模 | 100000 | 100 | 100 个互不冲突任务按结束日期逆序输入 | 100000000000 | 检查最大规模、排序、前驱搜索和整体性能 | |