社区讨论
关于三分
P1883【模板】三分 / 函数 / [ICPC-Chengdu 2010] Error Curves参与者 3已保存回复 7
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 7 条
- 当前快照
- 1 份
- 快照标识符
- @mih562cs
- 此快照首次捕获于
- 2025/11/27 15:58 3 个月前
- 此快照最后确认于
- 2025/11/28 19:30 3 个月前
但是我本地测试下来如果 过大会导致死循环,过小会导致答案错误,求助我的代码哪里有问题。另外,如果是整数三分的话,是不是只要保证 ,使用第一种写法就不会有问题?
CPP#define eps 1e-10
using namespace std;
const int maxn = 1e4+5;
int n , a[maxn] , b[maxn] , c[maxn];
double calc(double x)
{
double res = -1e18;
rep(i , 1 , n)res=max(res , a[i]*x*x+b[i]*x+c[i]);
return res;
}
void Solve()
{
cin >> n;
rep(i , 1 , n)cin >> a[i] >> b[i] >> c[i];
double l = 0 , r = 1000;
while(fabs(l-r) > eps)
{
double mid = (l+r)/2;
double lmid = mid-eps , rmid = mid+eps;
if (calc(lmid) > calc(rmid))l=lmid;
else r=rmid;
}
printf("%.4lf\n" , calc(l));
return;
}
回复
共 7 条回复,欢迎继续交流。
正在加载回复...