【模板】三分法

三分法

三分法一般用来求某一个单峰函数的最值。

和二分的区别

二分是要求某个问题满足单调性,只有这样才可以二分。

也就是说:二分法是适用于单调函数的,而三分法则适用于单峰函数。

实现:给定上下界,每次将上下界这个区间平均分成三份,取两个三等分点比较,并缩小范围。

代码:

    while(r-l>eps)
	{
		double midl=l+(r-l)/3.0,midr=r-(r-l)/3.0;
		if(getsum(midl)<getsum(midr))
		{
			l=midl;
		}else{
			r=midr;
		}
	}
	printf("%.5lf
",r);
原文地址:https://www.cnblogs.com/2017gdgzoi44/p/11421161.html