Luogu1315 观光公交

有一些初步的思路,感觉不太好写就翻了题解

有一篇自称最坏 n^2 的题解跟我想的差不多,但感觉非常不可写挖坑待填

O(nk) 的做法是比较简单又自然的

考虑最优的加速器使用策略,无非是让受益的人尽可能多

而加速对人产生贡献有两种方式:
一种是对在车上的人产生贡献,让他们路程上花的时间 -1
另一种是对来得早的等车的人产生贡献,让他们等车的时间 -1

这些受到影响的人的总数就是使用一次加速器产生的贡献

考虑在经过点 i 后使用,受到影响的人一定是后边的一段连续区间

这一段区间一直向右延伸直到一个位置不满足 来得最晚的人比车到得早

在这里车要等人,所以后边不管怎样都不会受到加速的影响了

不过加速后右端点的位置的情况是否会改变,或者某个 d 是否变为了 0
这都再扫一遍就行

代码就不放了,跟洛谷某篇题解挺像的= =

posted @ 2018-10-19 06:52  EvalonXing  阅读(134)  评论(0编辑  收藏  举报