题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3756/**//*题意:在一个三维空间中,给定一些点,这些点的z坐标都是大于0的。要求求出一个圆锥(底面是圆形),使得这个圆锥的底面在z = 0的平面上,它能够包含所有给定的点并且圆锥的体积要求最小。题解:数学推导 + 三分思路:这是一个很有意思的题,虽然是三维的,但是可以很容易的转化到二维去。来看X-Z这个平面,我们将所有的点进行圆周映射,然后将所有的点都投影到X-Z平面的的第一象限去,然后问题就转化成了在X-Z平面上找到一条斜率为负的直线L,L和X正方向、Z正方向围成的三角形包含所有点,如果假设L和X轴的交点为R,和Z轴焦点为H,要求pi*H*R^2的值最小。然后我们来看看H和R之间有什么千丝万缕的关系。首先L这条线必定和某一个给定的点擦边,也就是经过那个点,我们假设它经过P(a, b), 并且L的斜率为K(K < 0),那么L的方程就可以表示为 L: y = K * (x - a) + b,则H和R就可以利用这个方程表示出来:H = -a * K + b;R = -b / K + a;那么所求的圆锥的体积就是:V = pi*H*R^2 = pi * (-a * K + b) * (-b / K + a) ^ 2容易得到V(K)这个函数的导数:V'(K) = - pi * (aK^
...继续阅读
(37)