汽车加油问题
一辆载油500升的汽车从A开往1000公里外的B,已知汽车每公里耗油量为1升,A处有无穷多的油,其他任何地点都没有油,但该车可以在任何地点存放油以备中转,问从A到B最少需要多少油?
答案:
(提示,严格证明该模型最优比较麻烦,但确实可证,大胆猜想是解题关键)
题目可归结为求数列 an=500/(2n+1) n=0,1,2,3......的和Sn什么时候大于等于1000,解得n>6
当n=6时,S6=977.57
所以第一个中转点离起始位置距离为1000-977.57=22.43公里
所以第一次中转之前共耗油 22.43*(2*7+1)=336.50升
此后每次中转耗油500升
所以总耗油量为7*500+336.50=3836.50升
写道
http://bbs.csdn.net/topics/340205828 得到了提示
第二题,可以反过来推。
最优的方案是车开到B地时油刚好被用完。
那当然最后一个中转油的地方离B地500公里,并且车在这个地方能够把邮箱装满。
要满足上面这条,车必须在到达最后一个中转点时,先从前一个中转点搬部分油到这个中转点,然后再在前一个中转点加满油,跑到最后一个中转点时,路上消耗的油正好是最后一个中转点放的油。我们可以很简单地看到这辆车500升的油在最后一个中转点和前一个中转点之间要跑500公里是最优方案,而这段距离刚好要跑3次,于是前一个中转点离最后一个中转点的距离是500/3公里。
依此类推,可以得到上面那个通项公式an=500/(2n+1)
第二题,可以反过来推。
最优的方案是车开到B地时油刚好被用完。
那当然最后一个中转油的地方离B地500公里,并且车在这个地方能够把邮箱装满。
要满足上面这条,车必须在到达最后一个中转点时,先从前一个中转点搬部分油到这个中转点,然后再在前一个中转点加满油,跑到最后一个中转点时,路上消耗的油正好是最后一个中转点放的油。我们可以很简单地看到这辆车500升的油在最后一个中转点和前一个中转点之间要跑500公里是最优方案,而这段距离刚好要跑3次,于是前一个中转点离最后一个中转点的距离是500/3公里。
依此类推,可以得到上面那个通项公式an=500/(2n+1)
最后中转点(n)为中点 写道
最优解:汽车经过最后中转点时候可以将油加满然后到总结正好油完。
倒是第二个中转点(n-1点) 写道
(n-1点)应该向n点中转油。
(n点)放的油应该在(n-1点)出发最后一次的正好加满车。
车最少在(n-1点)到(n点)开2次,一次送油,一次经过而且加上存的油正好加满。
设(n点)放的油是x,而要正好在车经过的时候车正好加满,x就要等于路程(这样路程消耗了x,正好加x油加满)。
那么第一从(n-1点)到(n点)放的油是x,路径是x,还要返回,这样2x+x=500,也就是(n-1点)到(n点)的距离是500/3。
(n-1点)总结:
(n点)到终点的距离 :500
(n点)到终点的此次 :1次
(n点)放油 :500/3
(n-1点)到(n点)距离:500/3
(n-1点)到(n点)次数:2次
(n-1点)放的油 :500 + x;
(n点)放的油应该在(n-1点)出发最后一次的正好加满车。
车最少在(n-1点)到(n点)开2次,一次送油,一次经过而且加上存的油正好加满。
设(n点)放的油是x,而要正好在车经过的时候车正好加满,x就要等于路程(这样路程消耗了x,正好加x油加满)。
那么第一从(n-1点)到(n点)放的油是x,路径是x,还要返回,这样2x+x=500,也就是(n-1点)到(n点)的距离是500/3。
(n-1点)总结:
(n点)到终点的距离 :500
(n点)到终点的此次 :1次
(n点)放油 :500/3
(n-1点)到(n点)距离:500/3
(n-1点)到(n点)次数:2次
(n-1点)放的油 :500 + x;
倒是第三个中转点(n-2点) 写道
(n-2点)到(n-1点)次数:2次不可能,第一次要带500油到(n-1点)不可能。
(n-2点)到(n-1点)次数:3次。前两次带油500+x,最后要求路上的消耗正好(n-1点)放的油x(这样x就是路程了)。
带油2*(500-2x)= 500 + x,这样x=500/5
(n-2点)总结:
(n点)到终点的距离 :500
(n点)到终点的此次 :1次
(n点)放油 :500/3
(n-1点)到(n点)距离:500/3
(n-1点)到(n点)次数:2次
(n-1点)放的油 :500 + x;(x = 500/5)
(n-2点)到(n-1点)距离:500/5
(n-2点)到(n-1点)次数:3次
(n-1点)放的油 :500 + 500 + y;
(n-2点)到(n-1点)次数:3次。前两次带油500+x,最后要求路上的消耗正好(n-1点)放的油x(这样x就是路程了)。
带油2*(500-2x)= 500 + x,这样x=500/5
(n-2点)总结:
(n点)到终点的距离 :500
(n点)到终点的此次 :1次
(n点)放油 :500/3
(n-1点)到(n点)距离:500/3
(n-1点)到(n点)次数:2次
(n-1点)放的油 :500 + x;(x = 500/5)
(n-2点)到(n-1点)距离:500/5
(n-2点)到(n-1点)次数:3次
(n-1点)放的油 :500 + 500 + y;
依次推出中转点之间的距离500,500/3,500/5,500/7,500/9,....,500/(2n+1)。
相关推荐
微软作为全球知名的科技巨头,其面试题历来备受关注,这些题目不仅体现了微软对技术人才的期望,也成为了求职者提升自身技能的重要参考资料。本压缩包中的“微软试题合集”涵盖了多个领域的技术问题,旨在测试候选人...
微软公司面试人员的面试题解答,google微软等大公司面试题,软件架构师的设计。
面试题,微软面试题答案,微软面试题答案,微软面试题答案
"微软面试题集锦-C/C++试题" 本资源汇集了微软面试中常见的C/C++试题,涵盖了函数返回值、引用、常引用、函数参数传递、返回值类型等多个领域,涵盖了C/C++语言的核心知识点。 1. 求函数的返回值 函数func的...
本压缩包包含了四份文档,分别是“英文原版(101道面试题).doc”、“部分题的具体分析.doc”、“面试题答案.doc”以及“微软的面试题.doc”,旨在帮助求职者了解微软的面试风格并提升准备。 1. **英文原版面试题**...
以下是对部分微软面试题的详细解答: **第一组题目解析:** 1. **烧绳计时**:烧一根绳子两端同时点燃,用时半小时;若要计时1小时15分钟,可烧两根绳子,一根两端点燃,另一根只点燃一端。当第一根完全烧完,剩下...
【微软面试题集】 微软作为科技巨头,其面试题集偏重于技术深度、创新思维和问题解决能力。核心知识点: 1. **计算机科学基础**:熟悉数据结构、算法、操作系统和计算机网络的基本概念。 2. **编程能力**:深入...
“微软面试题及附标准答案” 本资源提供了微软面试题及答案,旨在帮助用户更好地准备微软面试。该资源涵盖了多种题型,包括基本题型、没有答案型、难题和超难题。这些题目涵盖了逻辑思维、问题解决、反应能力等多...
【微软面试题详解】 微软面试题以其独特性和挑战性闻名,...以上是微软面试题的部分解答,这些题目不仅测试了基本的逻辑思维,还涉及到策略、概率和创新思考。在实际面试中,答题速度和思维清晰度也是重要的评估标准。
本压缩包中的“微软面试试题及答案.txt”文件,很可能是收集了一些在微软面试过程中可能会遇到的问题及其解答,旨在帮助应聘者更好地准备面试。 面试题目的类型通常包括技术问题、行为问题和情境问题。对于技术问题...
微软面试题集: 微软的面试通常涵盖算法与数据结构、计算机科学基础知识、编程能力、问题解决和逻辑思维等方面。常见的面试题可能涉及排序算法(如快速排序、归并排序)、查找算法(二分查找、哈希查找)、图论问题...
微软面试题集在软件开发领域一直备受关注,特别是对于那些希望进入微软或类似科技公司的软件工程师来说。微软面试题通常涉及数据结构与算法,是考察应聘者编程能力与问题解决技巧的重要手段。本文档所提供的内容涵盖...
微软面试题100道 程序员面试 应届生找工作 面试百度 找工作的童鞋们都看懂了,就可以进百度了
microsoft微软的面试题完整版及答案
【微软面试100题系列】是一套针对应聘者准备微软公司面试的综合资源,包含了11篇文章,总计300多道问题,旨在帮助求职者深入理解和掌握与Windows操作系统和微软技术栈相关的知识,从而在面试中表现出色,顺利获得...
这些题目是微软面试中的一些经典问题,涵盖了逻辑推理、数学、概率、策略和创新思维等多个方面。这些问题旨在考察候选人的解决问题的能力、思维敏捷度和创新能力,同时也是对面试者临场应变和压力处理能力的测试。 ...
【唐骏微软面试题解析】 唐骏,曾是微软中国的总裁,以其独特的面试风格和高标准的人才筛选方式闻名。他在招聘过程中设计出一系列富有挑战性的面试题,旨在考察应聘者的思维方式、问题解决能力和应变能力。以下是三...
这是关于微软面试题目的一个比较全面的整理
通过解答微软的面试题,你可以提升自己在这些领域的理解和应用能力。在实际编程中,掌握这些算法可以帮助你编写出更高效、更优化的代码,从而解决实际工程问题。因此,这些题目不仅适用于面试准备,也是提升个人编程...