• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            coreBugZJ

            此 blog 已棄。

            HDOJ 3714 Error Curves

            Error Curves

            Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)
            Total Submission(s): 275    Accepted Submission(s): 98


            Problem Description
            Josephina is a clever girl and addicted to Machine Learning recently. She
            pays much attention to a method called Linear Discriminant Analysis, which
            has many interesting properties.
            In order to test the algorithm's efficiency, she collects many datasets.
            What's more, each data is divided into two parts: training data and test
            data. She gets the parameters of the model on training data and test the
            model on test data. To her surprise, she finds each dataset's test error curve is just a parabolic curve. A parabolic curve corresponds to a quadratic function. In mathematics, a quadratic function is a polynomial function of the form f(x) = ax2 + bx + c. The quadratic will degrade to linear function if a = 0.



            It's very easy to calculate the minimal error if there is only one test error curve. However, there are several datasets, which means Josephina will obtain many parabolic curves. Josephina wants to get the tuned parameters that make the best performance on all datasets. So she should take all error curves into account, i.e., she has to deal with many quadric functions and make a new error definition to represent the total error. Now, she focuses on the following new function's minimum which related to multiple quadric functions. The new function F(x) is defined as follows: F(x) = max(Si(x)), i = 1...n. The domain of x is [0, 1000]. Si(x) is a quadric function. Josephina wonders the minimum of F(x). Unfortunately, it's too hard for her to solve this problem. As a super programmer, can you help her?
             


             

            Input
            The input contains multiple test cases. The first line is the number of cases T (T < 100). Each case begins with a number n (n ≤ 10000). Following n lines, each line contains three integers a (0 ≤ a ≤ 100), b (|b| ≤ 5000), c (|c| ≤ 5000), which mean the corresponding coefficients of a quadratic function.
             


             

            Output
            For each test case, output the answer in a line. Round to 4 digits after the decimal point.
             


             

            Sample Input
            2 1 2 0 0 2 2 0 0 2 -4 2
             


             

            Sample Output
            0.0000 0.5000



            三分法


            #include <stdio.h>

            #define  L  10009
            #define  EPS  (1e-10)

            int n, a[ L ], b[ L ], c[ L ];

            int main() {
                    
            int td, i;
                    
            double left, right, midL, midR, tmpL, tmpR, maxL, maxR;
                    scanf( 
            "%d"&td );
                    
            while ( td-- > 0 ) {
                            scanf( 
            "%d"&n );
                            
            for ( i = 0; i < n; ++i ) {
                                    scanf( 
            "%d%d%d", a+i, b+i, c+i );
                            }

                            left 
            = 0;
                            right 
            = 1000;
                            
            while ( right - left > EPS ) {
                                    midL 
            = ( right - left ) / 3 + left;
                                    midR 
            = ( right - midL ) / 2 + midL;
                                    maxL 
            = maxR = -1e300;
                                    
            for ( i = 0; i < n; ++i ) {
                                            tmpL 
            = ( a[ i ] * midL + b[ i ] ) * midL + c[ i ];
                                            tmpR 
            = ( a[ i ] * midR + b[ i ] ) * midR + c[ i ];
                                            
            if ( maxL < tmpL ) {
                                                    maxL 
            = tmpL;
                                            }

                                            
            if ( maxR < tmpR ) {
                                                    maxR 
            = tmpR;
                                            }

                                    }

                                    
            if ( maxL < maxR ) {
                                            right 
            = midR;
                                    }

                                    
            else {
                                            left 
            = midL;
                                    }

                            }

                            printf( 
            "%0.4lf\n", maxL );
                    }

                    
            return 0;
            }


            posted on 2011-03-17 23:15 coreBugZJ 閱讀(1099) 評論(0)  編輯 收藏 引用 所屬分類: ACM

            国内精品久久国产| 国产一级持黄大片99久久| 久久综合亚洲鲁鲁五月天| 久久精品九九亚洲精品| 99久久精品免费看国产免费| 亚洲精品tv久久久久久久久久| 久久亚洲私人国产精品vA| 精品久久国产一区二区三区香蕉| 久久久久亚洲国产| 国产69精品久久久久9999| 久久久SS麻豆欧美国产日韩| 青青国产成人久久91网| 久久久久久国产精品美女| 国内精品久久久久久久影视麻豆| 欧美精品国产综合久久| 99久久夜色精品国产网站| 亚洲国产精品无码久久久蜜芽| 国产精品热久久毛片| 久久精品国产亚洲沈樵| 久久精品中文闷骚内射| 一本色道久久综合亚洲精品| 人妻无码精品久久亚瑟影视| 韩国无遮挡三级久久| 97久久精品人妻人人搡人人玩| 免费精品久久天干天干| 国产精品丝袜久久久久久不卡 | 久久久久亚洲av成人无码电影| 亚洲熟妇无码另类久久久| 久久亚洲高清综合| 久久成人18免费网站| 国产高潮国产高潮久久久91 | 波多野结衣久久精品| 久久免费视频6| 久久久久无码中| 久久久久亚洲av成人无码电影| 国产高潮国产高潮久久久91| 亚洲乱亚洲乱淫久久| 91精品国产91久久久久久青草| 久久精品9988| 国产精品免费久久| 久久中文精品无码中文字幕|