• 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,...,nx的范围是[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的误差。

    【来源】

    UVa1476 Error Curves

    刘汝佳,《算法竞赛入门经典训练指南》表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=1;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=1;i<=n;i++)
                scanf("%lf%lf%lf",&a[i],&b[i],&c[i]);
            l=0;r=1000;
            while(r-l>eps){
                mid1=(l+r)/2;
                mid2=(mid1+r)/2;
                if(f(mid1)>f(mid2))    l=mid1;
                else r=mid2;
            }    
            printf("%.4lf
    ",f(l));
        }
    }
    细雨斜风作晓寒。淡烟疏柳媚晴滩。入淮清洛渐漫漫。 雪沫乳花浮午盏,蓼茸蒿笋试春盘。人间有味是清欢。
  • 相关阅读:
    今天的进度又慢了
    继续还有一些基本功能
    没什么事情
    今天好冷啊
    估计下周一就不去了
    再次出发
    诡异的php curl error Empty reply from server
    postgresql interval 字段拼接
    使用root用户通过SSH登录Linux实例时报“Permission denied, please try again”的错误
    pgsql 记录类型
  • 原文地址:https://www.cnblogs.com/cangT-Tlan/p/7739626.html
Copyright © 2020-2023  润新知