吉普车试图穿越 x km 宽的沙漠,吉普车耗油率1L/km,总装油量 500L,对于 x > 500,吉普车需要设置临时储油点,以穿越沙漠。现在,我们需要对于输入的 x 值,计算最少的耗油量。其中, 0 ≤ x ≤ 3000.
在思考这道题之前,我们先考虑几个常识性问题:
1、越往沙漠深处的储油点送油,所消耗的油量更多(在往返的路上必然会消耗更多的油量)
2、要使总耗油量最少,那么需要使得绝对单位路径上的长度最小。
(其中,绝对路径指完全行驶的距离,即不再需要返回。)
3、要使得耗油量最少,那么我们需要满足以下条件:
a、每次车应该满载而去,空载而归。
b、从第 i 个储油点将油送到第 i + 1个必然消耗的比从起点而始耗油量要少。
c、在到达终点的时候,必然有:所有储油点、车上的油量均为0。
d、储油点存储的油量必然是500的整数倍——这一点可由 3.a 推得。
4、考虑将油从第 i 个储油点送至第 i + 1个的过程:假设需要送 n 趟,那么在最后一趟时,吉普车到达第 i + 1个储油点时,这时候,吉普车将没必要回到前面的储油点,假设这期间的距离为d,那么所在运输中所消耗的油量为 (2n - 1)d。
<