传送带(三分+枚举)
题目(下文为简化后的模型):在平面α上有两条线段AB , CD。已知陶陶在平面α上的移动速度为v1,在线段AB上的移动速度为v2,在线段CD上的移动速度为v3(v3,v2>v1)。已知A,B,C,D的坐标,求小陶从A点出发到达D点所用的最短时间。
解:
(封面为本题模型草图)
设点M,N分别在线段AB,CD上
由几何不等式得最优路径一定为A→M→N→D
设向量AM=aAB,向量ND=bCD a,b∈[0,1]
可求出总时长T是关于a,b的一个函数
于是想到对a,b进行枚举,得到朴素算法.
三分:
若把a视为参数,则可推导出T是一个单调或单峰函数(单调性取决于角BAD,为钝角则为单调,为锐角则为单峰。证明见下图)

因此,若把a视为参数,我们可以用三分法求出T的最小值
于是想到对a进行枚举,对每一个枚举的a值,再对b三分即可求出T的最小值
朴素和三分的时间复杂度见下图
