hdu_2899_Strange fuction(三分查找)

题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2899

题意:让你解方程

题解:对于只有一个凸或者没有凸的图像,可以直接上三分解决、

#include<cstdio>
#include<cmath>
double eps=1e-7;
int t,y;
double f(double x){return 6*pow(x,7)+8*pow(x,6)+7*pow(x,3)+5*pow(x,2)-y*x;}
double three_search(){
	double l=0,r=100,mid,mmid;
	while(l+eps<r){
		mid=(l+r)/2,mmid=(mid+r)/2;
		if(f(mid)>f(mmid))l=mid;else r=mmid;
	}
	return f(l);
}
int main(){
	scanf("%d",&t);
	while(t--){
		scanf("%d",&y);
		printf("%.4lf\n",three_search());
	}
	return 0;
}


你可能感兴趣的:(三分查找)