找回密码
 加入灵隐岛
楼主: 空空.

车子能走多远

  [复制链接]
发表于 2010-3-4 08:37:00 | 显示全部楼层
262.5公里外是可以到的,但不知道是不是最远
回复

使用道具 举报

发表于 2010-3-4 08:49:41 | 显示全部楼层
恩,没考虑可以通过加油来减少往返次数,只一律考虑了返回最短的情况
回复

使用道具 举报

发表于 2010-3-4 09:48:56 | 显示全部楼层
经过验算,俺确定再分为两段的情况下,LZ的答案是正确的,算法如下:
1、既然车子可以随时加油,也就是说油以桶计算是没意义的,直接以公里计算更好,也就是起点有500的油
2、最后的答案肯定是到了某个地方,正好还有200的油,也就是说题目变换为花费300的油如何运200的油到最远处
3、所谓的利用运200油到最远处,其实等于两个条件,第一:要有足够的空间运200油,第二:过程中,返回的总路程要最少
4、由于车子只能一次装200的油,所以不可能一次完成任务,而多次往返,显然最好的思路就是不必全程往返,因此中间取一点做为中转(为什么要分为2段的原因,猜想多段可能更远)
5、假设中点前半段为x,后半段为y,可知道本题目就是求x+y为最大的了;根据题目,x段共往返了n次,y只往返了一次为最合理。根据以上条件,x段往返了n次,相当于车走了(2n+1)倍x的路程,y只往返了一次,就是走了3y的路程,于是有第一个等式:(2n+1)x+3y=300。观察这个等式,显然n越小,x+y的值越大。于是先考虑n为1的情况,n为1时,相当于在起点只往返了1次,也就是2次从起点出发,车子最多只能带400的油,无法带走起点共500的油,因此n=1不符合运输条件,抛弃。那就按n=2计算,当n为2时,首先满足了可以运输的基本条件。这时候就变成了5x+3y=300的等式,于是算出x=60-0.6y,x+y=60+0.4y.显然,y越大x+y就越大。但是我们知道,x、y肯定都小于100,否则将没办法运输,另外,还有个条件,就是既然从中点到y只往返了一次,也就是只出发了2次,意味着从中点到y,车子最多能带过去400的油,而最后还要剩200,于是就得出另一个不等式,400-3y需要大于等于200(极端的情况是最大运载量下减去路上的要剩下200的油),也就是y小于等于200/3,带入上面的等式,得出x+y=60+0.4y最大为y=200/3时,达到最大86.6666666.同时x、y的数值也就有了,x=20,y=66.66666
也就是说,车子最远可以开出286.6666远。

但是不知道拆分为3段或者多段会不会更远,可能会有更远的情况
回复

使用道具 举报

发表于 2010-3-4 09:50:57 | 显示全部楼层
晕,写了很多,却没发表成功
回复

使用道具 举报

发表于 2010-3-4 10:08:56 | 显示全部楼层
再来一次
经过验算,俺确定在只分两段的情况下LZ的答案是正确的,算法如下:
1、既然车子可以随时加油,也就是说油以桶计算是没意义的,直接以公里计算更好,也就是起点有500的油
2、最后的答案肯定是到了某个地方,正好还有200的油,也就是说题目变换为花费300的油如何运200的油到最远处
3、所谓的利用运200油到最远处,其实等于两个条件,第一:要有足够的空间运200油,第二:过程中,返回的总路程要最少
4、由于车子只能一次装200的油,所以不可能一次完成任务,而多次往返,显然最好的思路就是不必全程往返,因此中间取一点做为中转(分两段比一段更远的原因,因此考虑可能多段更远)
5、假设中点前半段为x,后半段为y,可知道本题目就是求x+y为最大的了;根据题目,x段共往返了n次,y只往返了一次为最合理。根据以上条件,x段往返了n次,相当于车走了(2n+1)倍x的路程,而在中点到y的路程上,往返了1次,因此共走了3y的路程。于是就有了第一个等式(2n+1)x+3y=300(500的油剩余200,用了300),在这个等式下,要x+y最大。观察这个等式,可以发现n越小x+y值越大。考察n=1的时候,也就是x段只往返一次,也就是从起点只出发了2次,而从起点出发2次意味着只能带走400的油(起点有500的油),因此n=1舍弃。再考察n=2,当n=2符合运输的基本条件,这时等式变成了5x+3y=300,得出x=60-0.6y,于是x+y=60+0.4y。显然这个式子中y越大它的值就越大。但是我们不要忘了y肯定不能超过100(显而易见),另外,车只从中点出发向y 走了2次(y段路程只往返了一次),而两次的运输量最大为400,因此y还必须满足走完这3段路后,最大400的运输量下必须剩余200,于是得另一个不等式:400-3y大于等于200,也就是y小于等于200/3,代入x+y=60+0.4y中,得,x+y最大值为86.66666……,同时算出此时x=20,y=66.6666……
也就是中间周转2段时,最远可以开出去286.66666

根据以上思路,y路段只往返一次,已经为最大,前面的x再分为2段,可能会更远。
回复

使用道具 举报

发表于 2010-3-4 10:09:18 | 显示全部楼层
再来一次
经过验算,俺确定在只分两段的情况下LZ的答案是正确的,算法如下:
1、既然车子可以随时加油,也就是说油以桶计算是没意义的,直接以公里计算更好,也就是起点有500的油
2、最后的答案肯定是到了某个地方,正好还有200的油,也就是说题目变换为花费300的油如何运200的油到最远处
3、所谓的利用运200油到最远处,其实等于两个条件,第一:要有足够的空间运200油,第二:过程中,返回的总路程要最少
4、由于车子只能一次装200的油,所以不可能一次完成任务,而多次往返,显然最好的思路就是不必全程往返,因此中间取一点做为中转(分两段比一段更远的原因,因此考虑可能多段更远)
5、假设中点前半段为x,后半段为y,可知道本题目就是求x+y为最大的了;根据题目,x段共往返了n次,y只往返了一次为最合理。根据以上条件,x段往返了n次,相当于车走了(2n+1)倍x的路程,而在中点到y的路程上,往返了1次,因此共走了3y的路程。于是就有了第一个等式(2n+1)x+3y=300(500的油剩余200,用了300),在这个等式下,要x+y最大。观察这个等式,可以发现n越小x+y值越大。考察n=1的时候,也就是x段只往返一次,也就是从起点只出发了2次,而从起点出发2次意味着只能带走400的油(起点有500的油),因此n=1舍弃。再考察n=2,当n=2符合运输的基本条件,这时等式变成了5x+3y=300,得出x=60-0.6y,于是x+y=60+0.4y。显然这个式子中y越大它的值就越大。但是我们不要忘了y肯定不能超过100(显而易见),另外,车只从中点出发向y 走了2次(y段路程只往返了一次),而两次的运输量最大为400,因此y还必须满足走完这3段路后,最大400的运输量下必须剩余200,于是得另一个不等式:400-3y大于等于200,也就是y小于等于200/3,代入x+y=60+0.4y中,得,x+y最大值为86.66666……,同时算出此时x=20,y=66.6666……
也就是中间周转2段时,最远可以开出去286.66666

根据以上思路,y路段只往返一次,已经为最大,前面的x再分为2段,可能会更远。
回复

使用道具 举报

发表于 2010-3-4 10:09:34 | 显示全部楼层
为什么不能发表回帖?
回复

使用道具 举报

发表于 2010-3-5 09:08:29 | 显示全部楼层
好复杂啊!往返几趟啊?
回复

使用道具 举报

发表于 2010-3-5 11:12:37 | 显示全部楼层
看看答案
回复

使用道具 举报

发表于 2010-3-5 13:16:43 | 显示全部楼层
150公里吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入灵隐岛

本版积分规则

手机版|小黑屋|灵异志

GMT+8, 2024-11-23 01:10

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表