P1883 50pts求助(hack过了)
  • 板块P1883 函数
  • 楼主abandon114
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/11/26 13:28
  • 上次更新2024/11/26 17:22:09
查看原帖
P1883 50pts求助(hack过了)
737371
abandon114楼主2024/11/26 13:28

最后5个测试点不输出,但是没有测试数据不知道出了什么问题

本蒟蒻的三分跟题解的三分有差异,是参考OIOI WIKIWIKI的代码

求大佬们指点

#include<bits/stdc++.h>
using namespace std;
#define eps 1e-10
double mid,lmid,rmid;
int T,n;
struct function {
	double a,b,c;
}f[101];
double func(double x) {
	double fx=INT_MIN;
	for(int i=1;i<=n;i++) {
		double cu=f[i].a*x*x+f[i].b*x+f[i].c;
		if(cu>fx) fx=cu;
	}
	return fx;
}
//返回函数值
int main() {
	cin>>T;
	while(T--) {
		cin>>n;
		for(int i=1;i<=n;i++) cin>>f[i].a>>f[i].b>>f[i].c;
		double l=0.0,r=1000.0;
		while(r-l>eps) {
			mid=(l+r)/2;
			lmid=mid-eps;
			rmid=mid+eps;
			if(func(lmid)<=func(rmid)) r=mid;
			else l=mid;
		}//三分
		printf("%.4lf\n",func(l));	
	}
	
	return 0;
}

测试点信息

2024/11/26 13:28
加载中...