摘要:
将所有的点转化为x-z平面上,求使所有的点在直线x/r+z/h=1的下方,且使r*r*h最小的h与r的值。 依然使用三分法。可以这么多点,如何处理呢? 笔者首先选取x坐标最大的点,使直线过此点,逆时针旋转至下一个点,三分求体积最小值。再使以下一点逆时针旋转,直至没有点或者直线斜率k>=0。这样每次所有的点都在直线下方。AC代码如下:#include<iostream>#include<cmath>using namespace std;double pi=acos(-1.0);double eps=1e-9;double fun(double x,double y 阅读全文