</pre><pre name="code" class="cpp">double Calc(Type a)首先,模板转自, http://www.cnblogs.com/newpanderking/archive/2011/08/25/2153777.html ,需要的请参考这个大神的,%%%%
{
/* 根据题目的意思计算 */
}
void Solve(void)
{
double Left, Right;
double mid, midmid;
double mid_value, midmid_value;
Left = MIN; Right = MAX;
while (Left + EPS < Right)
{
mid = (Left + Right) / 2;
midmid = (mid + Right) / 2;
mid_area = Calc(mid);
midmid_area = Calc(midmid);
// 假设求解最大极值.
if (mid_area >= midmid_area) Right = midmid;
else Left = mid;
}
}
第一次听三分法感觉很神奇,回来百度一下模板,主要解决二分法无法解决的凸函数找极值的问题,水几个简单题再来填坑。