level 8
每个站点出发前,存油大于到达下一个站点消耗。
每段距离=d[i],改变原始定义,写的方便
每段距离/e<=总容量c
站点购入bi<=总容量c-当前容量
花费=∑ bi*pi
初始存量r[0]是0,
d[1]/e<=r[0]+b[0]<=c
购入b[0]=(d[1]/e-r[0],c-r[0])
一个下限,一个上限
到第二站,存量r变为
r[1]=(0,c-d[1]/e)
d[2]/e<=r[1]+b[1]<=c
购入量
b[1]=有序(
max(d[2]/e-r[1],0),
c-r[1])
有可能颠倒,就不能简单加下限了。
花费=∑b[i]*p[i]
b[i]=min(max(d[i+1]/e-r[i],0),c-r[i])
b[1]=有序(max(d[2]/e-r[1],0),c-r[1])
r[1]=(0,c-d[1]/e)
最后每一个b[i]都是用c,d,表示的上下限。
调整其中一个bi的选择,会影响整个花费。
也许随机求解是最方便的。
2022年10月20日 05点10分