社区讨论

三分求助

学术版参与者 4已保存回复 4

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
4 条
当前快照
1 份
快照标识符
@mihk8rqk
此快照首次捕获于
2025/11/27 23:00
3 个月前
此快照最后确认于
2025/11/29 10:40
3 个月前
查看原帖
模板赛三分一直卡最后一个 hack 点过不去。
CPP
int t, n;
const double eps = 0.000000001l;
struct node {
	double a, b, c;
}mp[10001];
double gett(double x) {
	double ans = 0;
	for (int i = 1; i <= n; i++) {
		ans = max(ans, mp[i].a * x * x + mp[i].b * x + mp[i].c);
	}
	return ans;
}
signed main() {
	t = read();
	while (t--) {
		n = read();
		for (int i = 1; i <= n; i++) {
			mp[i].a = read(), mp[i].b = read(), mp[i].c = read();
		}
		double l = 0, r = 1000;
		while (r - l > eps) {
			double lmid = (r - l) / 3.0 + l, rmid = r - (r - l) / 3.0;
			double lg = gett(lmid), rg = gett(rmid);
			if (lg >= rg)l = lmid;
			else r = rmid;
		}printf("%.4lf\n", gett(l));
	}
	return 0;
}

回复

4 条回复,欢迎继续交流。

正在加载回复...