斜率优化DP 先考虑朴素DP方程, f[i][k]代表第k个厂建在i棵树那里的最小代价,最后答案为f[n+1][3]; f[i][k]=min(f[j][k-1] + 把j+1~i的树都运到i的代价) 首先注意到“把j+1~i的树都运到i的代价”不太方便表达,每次都暴力计算显然是无法承受的, 于是考虑前缀和优化,观察到先运到下一棵树那里,等一会再运下去,和直接运下去是等效的. 设sum[i]代表1 ~ i的树都运到i的代价, 于是根据前缀和思想,猜想我们可以用1 ~ r 的代价与 1 ~ l-1…