[ABC320F]FuelRoundT
[ABC320F] Fuel Round Trip
这道题我们首先观察数据范围,发现
这个数据范围,一般明摆着就是 DP
,所以我先往 DP
方向思考。
首先思考如果只要一趟的情况,发现十分简单,令 DP
。
可是本题有一个往返的限制,但是我们假设回来的时候油站还可以做一次的话,也十分简单,我们只需要做一次简单的对称即可。
对于样例1,我们可以映射成这样:
其中
此时,若不考虑对称点只能取一对的情况,方法其实和上面完全一样。
于是我们想:是不是能通过增加一维状态就行了呢?
首先不可能状压,那还有什么方法呢?
经过苦思冥想,我们可以发现,我们可以围绕每一对对称点进行 DP
。
我们初步的状态就有了
显然,这是不够的,我们需要知道初始进去的油量(我定义不包括进去吃左侧的油),我们就加一维变成
其次,还是不够的,因为中间的操作会改变流量,我们的代价取决于最终我们希望的流量(我定义包括出去吃右侧的油),所以再加一维表示最终的油量,
到这里可能是够了的,但是我比较弱,觉得需要处理左右只选一种,于是再加一维
到目前为止,最终的状态
转移也是麻烦的。
我们考虑枚举从
code
code 简单优化(维数变换、边界优化)
本文作者:wscqwq
本文链接:https://www.cnblogs.com/wscqwq/p/17707673.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步