• <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 閱讀(1103) 評論(0)  編輯 收藏 引用 所屬分類: ACM

            欧美精品丝袜久久久中文字幕| 久久久久亚洲AV综合波多野结衣| 99久久99久久精品国产| 久久福利青草精品资源站| 国内精品久久人妻互换| 少妇久久久久久被弄高潮| 亚洲色大成网站www久久九| 狠狠狠色丁香婷婷综合久久五月 | 中文字幕久久久久人妻| 亚洲中文精品久久久久久不卡| 亚洲欧洲久久久精品| 狠狠色丁香婷婷久久综合| 久久国产免费直播| 久久久久这里只有精品| 久久99热这里只有精品国产| 久久久久久综合一区中文字幕| 久久亚洲AV无码精品色午夜| 精品国产VA久久久久久久冰 | 久久国产视屏| 久久久免费精品re6| 久久精品一区二区三区AV| 嫩草影院久久国产精品| 亚洲综合伊人久久综合| 精品久久久久久无码人妻热| 久久se精品一区二区| 亚洲精品高清一二区久久| 久久久久四虎国产精品| 久久福利青草精品资源站| 久久人人爽人人精品视频| 五月丁香综合激情六月久久| 办公室久久精品| 亚洲国产精品成人久久蜜臀 | 无码国内精品久久人妻| 无码人妻久久一区二区三区蜜桃| 久久久久国产| 欧美久久亚洲精品| 欧美午夜A∨大片久久 | 伊人久久无码精品中文字幕| 狠狠久久综合伊人不卡| 国内精品久久久久影院网站| 亚洲国产精品久久|