hdu3400_嵌套三分

来源:互联网 发布:编程小白 编辑:程序博客网 时间:2024/05/16 14:53

 

题目大意:

给出两条平行的线段AB, CD,然后一个人在线段AB的A点出发,走向D点,其中,人在线段AB上的速度为P, 在线段CD上的速度为Q,在其他地方的速度为R,求人从A点到D点的最短时间。

 

-------------------------------------------------------------------------------------

解题思路:

一开始看到这个题,就知道是数学题,但是没有找到合适的数学模型。。后来看了大牛的解题报告,提到了三分,才突然想到,这个题应该是化为函数,求函数的极值。由于之前没听过三分,所以花了一晚的时间研究了一下三分。。做了几个简单题垫垫底,这个题终于一A了~痛快~~(*^__^*) 嘻嘻……

 

额。。。。跑题了。。

 

说说这个题怎么做...

如上图所示,红线部分为人走的路径。人所用的时间为 T = X / P + Y / Q + Z / R。

然后我们做一个变形,令人在线段AB上花的时间为:F(X) = X / P ,假设X是一个确定值的前提下,人走完Z和Y所花的时间为:G(Y) = Z / R + Y / Q。当X 和Y都确定的情况下,Z也是一个确定值。所以,所求的函数可以写成: T(X,Y) = F(X) + G(Y)。因为T是一个关于X和Y的函数,而G只是一个关于Y的函数,所以,可以用两层嵌套的三分法解这个方程。首先以X为变量,对T进行三分。在求G的值的时候,以Y为变量,对G进行三分,求出G在对应的X下的最小值。这样就能求出T的最小值了。

如何证明这个题能够用三分解?

首先,F(X)函数是一个单调递增的函数,而G(Y)很明显是一个先递减后递增的函数。两个函数叠加,所得的T(X,Y)函数应该也是一个先递减后递增的函数。故可用三分法解之。

 

 

原创粉丝点击