逻辑问题求助

P2365 任务安排

这里的目的是在把新的i插入队尾之前,要求之前对尾两个点,与新插入这个i(其坐标为dp[i],f[i])要是斜率上单调递增,否则就不满足斜率优化的“下凸壳”条件,队尾这个点肯定没有希望成为最优的点的。 所以这里实际上在计算 $ \frac{dp[i]-dp[q[tail]]}{f[i]-f[q[tail]]} \le \frac{dp[q[tail]]-dp[q[tail-1]]}{f[q[tail]]-f[q[tail-1]]} $ ,只不过为了避免除以整数带来的麻烦,把这个公式变成了乘法而已。 如果符合这个条件的情况下,就要剔除队尾的点,知道满足斜率上的单调递增为止。
by hank_he @ 2024-03-16 18:35:59


|