[CEOI2004]锯木厂选址

纪念自己推出了第一道斜率优化!

变量声明:

$sum[i]$表示前$i$棵树的总重

$dis[i]$表示从开头到第$i$棵树的距离

$pay[i]$表示在第$i$处设立厂,花费是多少,只考虑$i$之前的

$f[i]$表示在第$i$处设立第二个厂的总最小花费

那么假设第一个厂建在$j$处,第二个厂建在$i$处,那么

那么可以得出普通的转移式:(对于$1~i$中的每个数$j$)

$f[i]=min(pay[n+1]-sum[j]*(dis[i]-dis[j])-sum[i]*(dis[n+1]-dis[i]))(j<i)$

猜你喜欢

转载自www.cnblogs.com/yexinqwq/p/10218559.html