FOJ Problem 1076 穿越沙漠

2011-04-04  17:32:24

题目地址:http://acm.fzu.edu.cn/problem.php?pid=1076

参考了他人的解题报告(http://hi.baidu.com/lasting_star/blog/item/cd7d52cd55020b1900e928e3.html

其思路为:

 


 

本题是一个极值问题,要求具有最小的油耗。因此,它的解是唯一的。吉普车在沙漠中建临时油库,是逐步向前推进的,即建好一个油库后,再建下一个油库。为使油耗最小应做到:

(1) 每次吉普车出发时都应满载,放下一部分油再返回时,油恰好用完,并且把下一     个油库建好后这个油库中的油恰好用完。所以每个点的油库中的油都应是吉普车装油量的整数倍 ( 因为出发时满载 ) ,即 500Xk(k 为正整数 ) ,并且每个点的存油量为下一个点的存油量及吉普车为建立下个油库在两点之间往返的油耗之和 ( 下一个油库建成,前一个油库中的油恰好用完 )

(2) 吉普车为建立下一个油库运油次数应最少。

用递推法解这个题,可由一个点的存油量推出相邻的另一个点的存油量及两点之     间的距离。但正推是不可能的,因为第一个点的存油量及其距 A 的距离尚无法确定。但是可推得最后一个点 Cl 的存油量应为 500L ,它与 B 相距为 500km ,这样吉普车从 Cl 到达 B 恰好跑一趟 B 。递推必须由已知的初始条件开始。为此本题应使用倒推法。图 2-7 为这一倒推过程的示意图。图中 A 为起始点, B 为终点, C1

    C1 ,…, Cn 分别为倒数第 12 ,…, n 个临时油库点。

由于 B 点无需储油,吉普车只须从 Cl 到达 B 即可,所以 C1 点的存油量应为 500LC1B 的距离为 500km 。为向 Cl500L 油,吉普车最少要满载出发两次 ( 若一趟,因途中要耗油而不可能 ) ,往返共三程 ( 应为奇数 ) 。考虑最少油耗, C :点应存油 2'500L 。由此可得如下关系:

    v2=3*x2+500=2*500

    x2=500/3

    C :距 B 的路程为:

    d2=dl+x2=500+500/3=(1+1/3)*500

为向 C :送 1000L 油,吉普车最少要满载出发 3 次,往返共 5 趟。考虑最少油耗, C ,点应存油 3*500L 。由此可得:

    v3=5*x3+v2=3*500

    x3=5005

    d3=d2+x3=(1+13+15)*500

同理可知,对倒数第 i 个点有:   

    Vi=(2*i-1)Xi+Vi-1=i*500    —

    Xi=500(2*i1)   

    Di=di-1+xi=(1+1/3+1/5+1(2*i-1))*500


自己还未证明该思路为什么能得到最小的耗油量!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值