USACO Air Conditioners(空调)
题目描述
炎热的夏天,Farmer John 需要给牛棚里的奶牛降温。
共有 N 头奶牛(1≤N≤20),牛棚有编号为 1…100 的一排牛栏。第 i 头奶牛占用从 si 到 ti 的连续牛栏(不同奶牛的占用范围互不重叠)。每头奶牛有不同的降温需求:奶牛 i 需要至少降低 ci 单位的温度,即牠占用的每个牛栏温度都要至少降低 ci。
共有 M 台空调(1≤M≤10),编号 1…M。第 i 台空调运行费用为 mi(1≤mi≤1000),可以冷却从 ai 到 bi 的连续牛栏范围,运行后将该范围内所有牛栏的温度降低 pi(1≤pi≤106)。不同空调的冷却范围可能重叠。
Farmer John 预算紧张。请计算满足所有奶牛所需的最小费用。题目保证:若使用所有空调,所有奶牛都能降温成功。
输入格式
第一行包含 N 和 M。
接下来 N 行,第 i 行包含 si,ti,ci。
接下来 M 行,第 i 行包含 ai,bi,pi,mi。
输出格式
输出一个整数,表示满足所有奶牛所需的最小费用。
样例
输入
2 4
1 5 2
7 9 3
2 9 2 3
1 6 2 8
1 2 4 2
6 9 1 5
输出
10
样例解释
一种最小费用的方案是选择第 1、3、4 台空调(分别覆盖区间 [2,9]、[1,2]、[6,9]),费用 3+2+5=10。
数据范围
- 1≤N≤20
- 1≤M≤10(除样例外,保证 M=10)
- 1≤si,ti,ai,bi≤100
- 1≤ci,pi≤106
- 1≤mi≤1000
提示
可以用状态压缩 DP 或暴力枚举空调子集求解。