cogs 1500. 误差曲线
1500. 误差曲线
★★ 输入文件:errorcurves.in 输出文件:errorcurves.out 评测插件
时间限制:1 s 内存限制:256 MB
【题目描述】
Josephina是一名聪明的妹子,她最近痴迷于机器学习。她花费了大量精力学习线性判别分析,因为其中有不少有趣的性质。
为了测试算法的性能,她收集了许多数据。每组数据都分成两个部分:训练数据和测试数据。她在训练数据中解算模型的参数,并且在测试数据中测试这个模型。
令她惊讶的是,她发现每组数据的误差曲线都是一条抛物线。一条抛物线对应一个二次函数。在数学中,二次函数指形如f(x)=ax2+bx+c的多项式函数。如果a=0,二次函数就退化为线性函数。

如果只有一条误差曲线,那么计算最小的误差将非常简单。但这里有多组数据,这意味着Josephina将得到多组误差曲线。Josephina希望调整参数以更好地拟合所有数据。因此她必须统计所有的误差曲线。也就是说,她必须处理许多二次函数,并得出一条新的错误曲线来代表所有的错误。现在,她正关注一个与许多二次函数有关的函数的最小值。
这个新函数定义如下:
F(x)=max(Si(x)),i=1,2,...,n。x的范围是[0,1000]。Si(x)是一个二次函数。
Josephina希望知道F(x)的最小值。不幸的是,用代数方法求解过于复杂。作为一名机智的程序员,你能帮她解决这个问题吗?

【输入格式】
输入包含多组数据。
输入文件的第1行是1个正整数T(T<100),表示数据组数。
每组数据的第1行是一个正整数n(n<=10000)。
接下来的n行,每行有3个正整数a(0<=a<=100),b(|b|<=5000),c(|c|<=5000),描述一个二次方程的相应系数。
【输出格式】
对每组数据,输出一行一个实数,即答案。
【样例输入】
2
1
2 0 0
2
2 0 0
2 -4 2
【样例输出】
0.0000
0.5000
【提示】
答案允许有不超过0.01的误差。
【来源】
刘汝佳,《算法竞赛入门经典训练指南》表2-14
思路:
本题的难点在于读题。
读透了题目后,这个题就是三分的模板题。
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define MAXN 10100
#define eps 1e-7
using namespace std;
int T,n;
double ans;
double a[MAXN],b[MAXN],c[MAXN],minn[MAXN];
double l,r,mid1,mid2;
double f(double x){
ans=-0x7f7f7f7f;
for(int i=;i<=n;i++) ans=max(ans,x*x*a[i]+x*b[i]+c[i]);
return ans;
}
int main(){
freopen("errorcurves.in","r",stdin);
freopen("errorcurves.out","w",stdout);
scanf("%d",&T);
while(T--){
scanf("%d",&n);
for(int i=;i<=n;i++)
scanf("%lf%lf%lf",&a[i],&b[i],&c[i]);
l=;r=;
while(r-l>eps){
mid1=(l+r)/;
mid2=(mid1+r)/;
if(f(mid1)>f(mid2)) l=mid1;
else r=mid2;
}
printf("%.4lf\n",f(l));
}
}
cogs 1500. 误差曲线的更多相关文章
- Cogs 1500. 误差曲线(三分)
误差曲线 ★★ 输入文件:errorcurves.in 输出文件:errorcurves.out 评测插件 时间限制:1 s 内存限制:256 MB [题目描述] Josephina是一名聪明的妹子, ...
- [BZOJ 1500]维修数列 [Splay Tree从进阶到住院]
历尽艰辛终于A掉了这题QwQ 贴COGS评论区几句话=.= 策爷:"splay/块状链表的自虐题.".深刻理解到如果没有M倾向就不要去写这题了.. -Chenyao2333 记得b ...
- COGS——T 1786. 韩信点兵
http://www.cogs.pro/cogs/problem/problem.php?pid=1786 ★★★ 输入文件:HanXin.in 输出文件:HanXin.out 简单对比时 ...
- ae_将面积小于1500的Feature同附近Feature进行合并
private void 合并1500图斑ToolStripMenuItem_Click(object sender, EventArgs e) { /* *将图层中面积小于1500的图斑与之相同BS ...
- 【COGS 254】【POI 2001】交通网络图
http://www.cogs.top/cogs/problem/problem.php?pid=254 dist[i]表示能最早到达i点的时间.这样就可以用最短路模型来转移了. #include&l ...
- UVA136 求第1500个丑数
枚举大范围数据..暴力检查题目条件 #include <iostream> #include <cstdio> #include <vector> #include ...
- 【COGS】894. 追查坏牛奶
http://cojs.tk/cogs/problem/problem.php?pid=894 题意:n个点m条边的加权网络,求最少边数的按编号字典序最小的最小割.(n<=32, m<=1 ...
- 【COGS】147. [USACO Jan08] 架设电话线(二分+spfa)
http://cojs.tk/cogs/problem/problem.php?pid=147 学到新姿势了orz 这题求的是一条1-n的路径的最大路径最小. 当然是在k以外的. 我们可以转换一下. ...
- 【COGS & USACO Training】710. 命名那个数字(hash+水题+dfs)
http://cojs.tk/cogs/problem/problem.php?pid=710 近日开始刷水... 此题我为了练一下hash...但是hash跑得比暴力还慢.. 不言而喻... #in ...
随机推荐
- MapReduce----K-均值聚类算法
对于K-均值聚类算法MapReduce的过程理解例如以下: 如果有个Mapper,首先把数据集分为个子集,分布到个Mapper上,初始化..并同一时候广播到H个Mapper上. E步: 在第一台Map ...
- codeforces #313(div 2)
B. Gerald is into Art time limit per test 2 seconds memory limit per test 256 megabytes input standa ...
- zoj_3735,dp,长沙站j题
#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> us ...
- 使用caffemodel模型(由mnist训练)测试单张手写数字样本
caffe中训练和测试mnist数据集都是批处理,可以反馈识别率,但是看不到单张样本的识别效果,这里使用windows自带的画图工具手写制作0~9的测试数字,然后使用caffemodel模型识别. 1 ...
- BZOJ 3524主席树裸题 (雾)
思路: 按权值建一棵主席树 (但是这好像不是正解 空间复杂度是不对的--.) //By SiriusRen #include <cstdio> #include <cstring&g ...
- angular route 与 django urls 冲突怎么解决?
app.js var app = angular.module('app', [ 'ngResource', 'ngRoute', // 'ui.bootstrap', // 'ngResource' ...
- <Sicily>Inversion Number(线段树求逆序数)
一.题目描述 There is a permutation P with n integers from 1 to n. You have to calculate its inversion num ...
- Mac上vmware虚拟机Windows10安装Tomcat8.0及配置环境
1.下载tomcat8.0或其他版本.下载地址:http://tomcat.apache.org/download-80.cgi 2.双击进行解压. 3.安装成功之后,右键我的电脑 --> 选择 ...
- WIFI 测试和调试
WIFI测试和调试 本文将介绍如何使用 ASOP 中提供的工具测试和调试 WLAN 实现. 测试 为了测试 WLAN 框架,AOSP 提供了一系列单元测试.集成测试 (ACTS) 和 CTS 测试. ...
- 编译php并与nginx整合
告诉 Nginx 如何处理 php 文件: nginx>vim conf/nginx.conf location ~ \.php${ ...