HNOI 2011-race

来源:互联网 发布:二次元影像软件用法 编辑:程序博客网 时间:2024/05/16 10:40

题目大意:

        比较复杂。是说一个人开车,要走若干折线段,给出参数a,b,耗油量为max(0,av+bs)(s为斜率)每单位长度,有个vmax和油量,问开完的最短时间。(开不完输出'IMPOSSIBLE')。


分析:

        咋一看是dp,其实不然,状态非常难设计。所以可以考虑贪心,首先初始化每条线段,当斜率小于零的时候尽量把在这条线段上的初始速度加到它的耗油量刚好为0(加不到则加到vmax),平地直接弄成0,斜率大于0的直接在初始油量中减掉b*s*dist,这样就只要考虑v了(a是酱油),也弄成0,接着对所有的v从小到大排序,把剩下的油量用一个类似于倒水的方法贪心:先对速度小的加速,加到次小的再把它们一起加,加到没有或都为vmax位置。(具体证明我猜应该与效益有关,因为速度的相对均衡应该会提高效率)


Source:

HNOI 2011-race
原创粉丝点击