我采取了分别考虑的方式来解该问题,也就是将x和l、r的位置进行考虑了进去。 于是,我定义了如下几个数组,分别表示: pre[x]包括x的前面的所有的货物都运送到x所需的花费suff[x]包括x的后面的所有的货都运送到x所需的花费ans[x]所有点的货物都运送到x所需的花费dis[x]表示x点到1号点的距离psiz[x]包括x的前面的所有的货物的前缀和ssiz[x]包括x的后面的所有的货物的后缀和 x < l时候 这时候,答案其实可以考虑称用l的后缀答案减去r+1的后缀答案,然后还少减了r+1的后缀部分到l上的贡献,然后在加上这部分,就求得了[l, r]所有货物都运到l上时候的花费了...