蒟蒻15分代码求hack
查看原帖
蒟蒻15分代码求hack
401088
xs_siqi楼主2022/10/1 16:53

RT。看了感觉是区间dp。

fi,jf_{i,j} 为第 iijj 个过去的时长。

把时间排序,iijj 等待的时间就是 区间等待时间最长的乘上区间长度减去区间等待时间和。即 aj×lsumj+sumk)a_j\times l-sum_j+sum_k),但考虑到车可能还没回来所以给 aja_jak+ma_k+m 取个最大值。

kk 为分割点,ll 为区间长度,sumsum 是前缀和,根据然后推出了:

fi,j=min(fi,j,fi,k+max(ak+m,aj)×lsumj+sumk)f_{i,j}=min(f_{i,j},f_{i,k}+max(a_k+m,a_j)\times l-sum_j+sum_k)

得到每一段的值后,再用另一个数组统计最小值:

dpi,j=min(fi,j,dpi,k+dpk+1,j)dp_{i,j}=min(f_{i,j},dp_{i,k}+dp_{k+1,j})

但是这个思路只拿了 1515 分。代码等等贴云剪贴板。是思路错了还是代码错了。

2022/10/1 16:53
加载中...