三分模板+秦九韶求值求查错?(TLE
查看原帖
三分模板+秦九韶求值求查错?(TLE
127299
Young_Zn_Cu楼主2020/12/4 20:58
#include <bits/stdc++.h>
#define db double
using namespace std;
const int N=15;
const db eps=1e-6;
int n;
db a[N];
db l,r;
inline int read(){
	int cnt=0,f=1;char c=getchar();
	while(!isdigit(c)){if(c=='-')f=-f;c=getchar();}
	while(isdigit(c)){cnt=(cnt<<3)+(cnt<<1)+(c^48);c=getchar();}
	return cnt*f;
}
inline db calc(db x){
	db sum=0.0;
	for(int i=n+1;i>=1;--i) sum=sum*x+a[i]*1.0;
	return sum;
}
signed main(){
	n=read();
	scanf("%lf%lf",&l,&r);
	for(int i=n+1;i>=1;++i) scanf("%lf",&a[i]);
	db l1,r1;
	while(r-l>=eps){
		l1=l+(r-l)*1.0/3;
		r1=r-(r-l)*1.0/3;
		if(calc(l1)<calc(r1)) l=l1;
		else r=r1;
	}
	printf("%.5lf",l);
	return 0;
}
2020/12/4 20:58
加载中...