题目大意 有n个物品,排成一个序列,每个物品有一个di表示取到i要走的距离,vi表示i的价值. 给m组询问[l,r] ,c,sum,问由[l,r]的di<=c的物品能否凑出sum的价值(每个物品只能用一次) 解法 首先说整体二分. 有m个对于区间的查询[Li,Ri],考虑当前的二分区间[L,R],对于所有包含于[L,R]的区间无非 是位于[L,mid]内,[mid+1,R]内和横跨mid三种情况. 前两种情况下递归求解,只需要对于第三种情况求解即可. 本题中,维护f(i,j)表示[用[i,mid…