纪中第三天
今天是在纪中的第三天
今天听了一个意味深长(懂一点点)的讲座
不是一般的讲座(不是像三鑫一样无聊的讲座)
额。。。。讲的是dp(联赛难度)
讲了个题目以及斜率优化
听得还可以,只不过从八点开始的讲座到十一点我就回来了(结束时间为十一点四十五)
斜率还是听得可以,这次的例题还是比较(一点都不)简单的,几个例题大部分还是可以的,如:摆渡车,【JZOJ】5935,HDU3405,还有几个提高组的题目,勉为其难
那就讲一下摆渡车吧
听说摆渡车在luogu(巨佬聚集地,好平台)上有人用暴力加搜索做出来了,我尝试了一下,结果是。。。。。。。(不说了) 于是今天听了个讲座,用斜率优化加dp就可以做出来 具体讲一下吧
首先我们转化一下模型 此题可以变为: 在一根时间轴上有一些点,每个时间点i有一个权值ci(即在i开始等待人数,没有则为0) 要求选一些时间点,每个时间点间隔不小于m 使得每个点的权值乘上它与第一个大于等于它时间的已选择的时间点 到它的距离之和最小 设dp[i]表示当我们强制选时间点ii的最小值
则有转移方程次数直接转移的复杂度为O(n3)
可以设:
。。。。。
所以:
。。。。
这道题再加上斜率优化就写出来了
令 y = dpi + sum2[i] K = I X = (sum1[i]) 维护一个上凸壳
Y[k] – y[j] > I * (x[k] – x[j])
return 0~~(拜拜)
风也很温柔