区间背包
题目描述
有n件物品,第i件物品的体积是hi,价值是wi。
有m组询问,每组询问给定li,ri,ti,表示仅考虑[li,ri]的物品,且背包容量仅有ti,问能得到的最大价值。
需要注意,每个物品仅有一个。
输入格式
第一行为两个整数,分别表示n,m。
第二行为n个整数,第i个整数表示hi。
第三行为n个整数,第i个整数表示wi。
第4到第(m+3)行,每行三个整数,第(i+3)行的整数li,ri,ti分别表示第i组询问的参数。
输出格式
对于每组询问,输出一行一个整数,表示最大的价值和。
数据范围与提示
- 对于30%的数据,n,m≤500;
- 对于60%的数据,n≤4×104,m≤5000;
- 对于100%的数据,1≤n≤4×104,1≤m≤2×105,1≤li≤ri≤n,1≤hi,ti≤200,1≤wi≤107。
样例
8 5
10 31 36 30 36 24 29 29
59 152 284 202 282 156 277 212
3 5 81
4 5 75
7 8 71
1 3 92
4 4 95
566
484
489
495
202
说明
对于第一组数据的第一组询问,可以选择第3个物品和第5个物品。
容量和为36+36=72<81,价值和为284+282=566。
15 10
5 15 18 15 18 12 14 14 10 15 17 18 9 7 6
11 31 26 34 19 17 15 25 11 34 18 26 21 8 11
7 15 31
2 9 67
8 15 77
3 13 43
6 7 98
2 2 110
3 13 26
11 11 84
7 14 25
4 6 90
66
118
128
89
32
31
55
18
55
70
说明
对于第二组数据的第一个询问,可以选择第10,第13,第15个物品。
容量和为15+9+6=30≤31,价值和为34+21+11=66。