题意: 一个数轴,每一个储物点会有一些东西,同时它们之间存在距离。 每次给个区间[l,r],查询把这个区间内所有储物点的东西运到另外一个储物点的代价是多少? 比如储物点i有x个东西,要运到储物点j,代价为x * dist( i , j ) dist就是储物点间的距离。 题解: 首先将储物点之间的距离转换成在数轴上的点,a[i]:储物点在数轴上的位置,b[i]:储物点内物品数量; 将区间[l,r]内的储物点转移到x储物点,首先我们考虑l<=x<=r的情况; 可以化简为: 查询区间值的和——前...