当前位置: 首页 > news >正文

P1883 【模板】三分 / 函数

题目描述

给定 \(n\) 个二次函数 \(f_1(x),f_2(x),\dots,f_n(x)\)(均形如 \(ax^2+bx+c\)),设 \(F(x)=\max\{f_1(x),f_2(x),...,f_n(x)\}\),求 \(F(x)\) 在区间 \([0,1000]\) 上的最小值。

输入格式

输入第一行为正整数 \(T\),表示有 \(T\) 组数据。

每组数据第一行一个正整数 \(n\),接着 \(n\) 行,每行 \(3\) 个整数 \(a,b,c\),用来表示每个二次函数的 \(3\) 个系数,注意二次函数有可能退化成一次。

输出格式

每组数据输出一行,表示 \(F(x)\) 的在区间 \([0,1000]\) 上的最小值。答案精确到小数点后四位,四舍五入。

输入输出样例 #1

输入 #1

2
1
2 0 0
2
2 0 0
2 -4 2

输出 #1

0.0000
0.5000

说明/提示

对于 \(50\%\) 的数据,\(n\le 100\)

对于 \(100\%\) 的数据,\(T<10\)\(\ n\le 10^4\)\(0\le a\le 100\)\(|b| \le 5\times 10^3\)\(|c| \le 5\times 10^3\)

题解

#include <bits/stdc++.h>
using namespace std;
const int N=1e5+10;
const double eps = 1e-9;
typedef long long ll;
int n;
struct Node
{double a,b,c;
}fx[N];double f(double x)
{   double res=fx[1].a*x*x+fx[1].b*x+fx[1].c;for(int i=2;i<=n;i++){res = max(res,fx[i].a*x*x+fx[i].b*x+fx[i].c);}return res;}void solve()
{cin>>n;for(int i=1;i<=n;i++){cin>>fx[i].a>>fx[i].b>>fx[i].c;}double l=0.0,r=1000.0;while(r-l>eps){double mid1 = (2*l+r)/3;double mid2 = (2*r+l)/3;double res1 = f(mid1);double res2 = f(mid2);if(res1<res2) r = mid2;else l = mid1;}double ans = f(l);printf("%.4lf\n",ans);}int main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);int t=1;cin>>t;while(t--){solve();}return 0;
}
http://www.jsqmd.com/news/54404/

相关文章:

  • CSP2025 T4
  • Day5 Scrum冲刺博客
  • 台达变频器与西门子1200 PLC互联借Modbus RTU转Profinet推动工业物联网
  • 2025-11-28
  • Convolutional Neutral Network(CNN网络)
  • 二维偏序(离线二维数点)
  • Product Hunt 每日热榜 | 2025-10-30 - 教程
  • 2025年Q4球墨铸铁管厂家TOP5排行榜:场景适配+成本优化,采购选型指南
  • 2025年Q4中国GEO优化公司权威排行榜:TOP5服务商解锁Deepseek高转化,AI搜索营销新标杆
  • WPF的MVVM模式核心架构与达成细节
  • 2025年12月GPU平台哪家好?权威榜单TOP5 低延迟+动态扩容,企业/开发者核心推荐
  • 敏捷冲刺随笔-2
  • 2025年12月高压固态软启动柜厂家排行榜,技术创新+24小时售后,工业采购测评推荐
  • 力扣160 相交链表 java达成
  • `train_test_split` 是什么?
  • 解决LVGL与FATFS编码格式冲突及外挂字库方案
  • 我是如何用浏览器插件轻松抓取抖音评论并实现精准搜索分析的
  • 重练算法(代码随想录版) day24 - 回溯part3
  • useEffect详解
  • 详解np.random.normal(0, 3, size=x.shape)
  • 代码随想录Day23_回溯_组合.md
  • 详细介绍:【JUnit实战3_21】第十二章:JUnit 5 与主流 IDE 的集成 + 第十三章:用 JUnit 5 做持续集成(上):在本地安装 Jenkins
  • 代码随想录Day24_回溯_复原IP.md
  • 何以为生
  • GraphRAG进阶:基于Neo4j与LlamaIndex的DRIFT搜索实现详解
  • Gemini3疯了!0.09接入Nano Banana Pro 4k画质API(附实战教程)
  • 11/28
  • noip板子
  • Webstorm常用配置
  • 东方博宜OJ 1119:求各位数字之和 ← 循环结构