AT_abc426_g [ABC426G] Range Knapsack Query
题目描述
有 $N$ 个物品,编号从 $1$ 到 $N$。第 $i$ 个物品的重量为 $W_i$,价值为 $V_i$。
你会得到 $Q$ 个查询,请按顺序处理它们。第 $j$ 个查询如下:
- 给定整数 $L_j, R_j, C_j\ (1\leq L_j\leq R_j\leq N)$。请你从物品 $L_j, L_j+1, \dots, R_j$ 中选择若干(可以为零)个物品,使得总重量不超过 $C_j$,求所能获得的最大总价值。
输入格式
输入按如下格式从标准输入读入:
> $N$
> $W_1$ $V_1$
> $W_2$ $V_2$
> $\vdots$
> $W_N$ $V_N$
> $Q$
> $L_1$ $R_1$ $C_1$
> $L_2$ $R_2$ $C_2$
> $\vdots$
> $L_Q$ $R_Q$ $C_Q$
输出格式
输出共 $Q$ 行,第 $i$ 行($1\leq i \leq Q$)输出第 $i$ 个查询的答案。
说明/提示
### 样例解释 1
对于第一个查询,在物品 $1,2,3,4$ 中,若选择物品 $2,4$,总重量为 $5+2=7$,不超过 $C_1=7$,总价值为 $8+3=11$,已达最大值。
对于第二个查询,若选择所有物品 $2,3,4$,总重量为 $5+1+2=8$,不超过 $C_2=10$,总价值为 $8+2+3=13$。
对于第三个查询,物品 $1,2$ 的重量都超过了 $C_3=2$,所以无法选择任何物品,最大总价值为 $0$。
### 数据范围
- $1\leq N \leq 2\times 10^4$
- $1\leq Q \leq 2\times 10^5$
- $1\leq W_i \leq 500$
- $1\leq V_i \leq 10^9$
- $1\leq L_j \leq R_j \leq N$
- $1\leq C_j \leq 500$
- 所有输入均为整数。
由 ChatGPT 5 翻译