原题目: 穿越沙漠
要穿越沙漠,吉普车需要利用油箱的油在沙漠中设立临时储油点(即车要在两个相邻储油点间来回送油),要求出最少的总用油量能使车能通过沙漠.
本题考察递推算法,难点当然在于递推公式(相邻储油点间油量,距离到关系)的推导.在正面(从起点到终点)推导失败到情况下,我开始尝试从反面(从终点到起点)推导.
首先要达到该结果,有几个条件必须满足:车在相邻两个储油点间必须行驶奇数次;车每次从前一个(前一个定义为靠近起点的)储油点出发时油箱中必须是满的;车每次到达下一个(下一个定义为靠近终点的)储油点是油箱必须是空的(对于在两相邻储油点间的最后一次行驶,到达下一个储油点时油箱必不空,可以看成将油箱剩余的油放置在储油点中,出发时再装满).
满足以上条件即可推导两个相邻储油点间关系: