• <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>

            The Fourth Dimension Space

            枯葉北風寒,忽然年以殘,念往昔,語默心酸。二十光陰無一物,韶光賤,寐難安; 不畏形影單,道途阻且慢,哪曲折,如渡飛湍。斬浪劈波酬壯志,同把酒,共言歡! -如夢令

            HDOJ 3400 三分法

            1Y。只是不明白為什么可以套兩個三分,不過從實際情況來看,在第一條直線上三分應該也是符合凸函數性質的。

            #include<iostream>
            #include
            <cmath>
            #include
            <algorithm>
            using namespace std;

            #define eps 1e-8


            struct point
            {
                
            double x,y;
            }
            ;
            point a,b,c,d;
            double p,q,r;

            double dist(point a,point b)
            {
                
            return sqrt( (a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y) );
            }


            double cal(double t1,double t2)//以t1,t2為參數算出時間
            {
                point tm1;
                point tm2;
                tm1.x
            =a.x+(b.x-a.x)*t1;
                tm1.y
            =a.y+(b.y-a.y)*t1;

                tm2.x
            =c.x+(d.x-c.x)*t2;
                tm2.y
            =c.y+(d.y-c.y)*t2;


                
            return dist(tm1,a)/p+dist(tm2,d)/q+dist(tm1,tm2)/r;
            }



            double sanfen(double t1)//在確定t1的基礎上得最小值
            {
                
            double l=0;
                
            double r=1;
                
            while(l+eps<=r)
                
            {

                    
            double mid=(l+r)/2;
                    
            double mmid=(mid+r)/2;
                    
            if(cal(t1,mid)<cal(t1,mmid))
                        r
            =mmid;
                    
            else
                        l
            =mid;
                }

                
            return cal(t1,l);
            }




            int main()
            {
                
            int ca;
                scanf(
            "%d",&ca);
                
            while(ca--)
                
            {
                    scanf(
            "%lf%lf%lf%lf",&a.x,&a.y,&b.x,&b.y);
                    scanf(
            "%lf%lf%lf%lf",&c.x,&c.y,&d.x,&d.y);
                    
            //
                    scanf("%lf%lf%lf",&p,&q,&r);

                    
            double l,r;
                    l
            =0;r=1;
                    
            while(l+eps<=r)
                    
            {

                        
            double mid=(l+r)/2;
                        
            double mmid=(mid+r)/2;
                        
            if(sanfen(mid)<sanfen(mmid))
                            r
            =mmid;
                        
            else
                            l
            =mid;
                    }

                    printf(
            "%.2lf\n",sanfen(l));
                }


                
            return 0;
            }

            posted on 2010-11-07 20:57 abilitytao 閱讀(313) 評論(0)  編輯 收藏 引用

            久久人妻无码中文字幕| 亚洲欧洲久久av| 国产三级久久久精品麻豆三级| 久久精品人人做人人爽97| 久久精品水蜜桃av综合天堂| 久久久久夜夜夜精品国产| 久久精品免费网站网| 久久无码高潮喷水| 久久精品国产一区| 国产精品99久久久精品无码| 久久精品人人做人人爽电影蜜月| 久久精品成人| 久久久久人妻精品一区二区三区| 久久久久国产| 久久国产精品久久国产精品| 久久午夜福利无码1000合集| 香港aa三级久久三级| 国内精品久久久久影院薰衣草| 免费精品99久久国产综合精品| 亚洲国产精品无码久久九九| 国产精品久久久久jk制服| 色综合合久久天天给综看| 国内精品伊人久久久久av一坑| 人妻无码久久精品| 亚洲综合精品香蕉久久网97| 久久久久久亚洲精品成人| 久久久久久精品免费看SSS| 久久精品无码一区二区日韩AV | 国产成人久久精品麻豆一区| 久久精品国产清自在天天线| 日韩亚洲国产综合久久久| 国产成人精品综合久久久| 久久99免费视频| 久久久久国产精品| 久久99精品久久久久久动态图| 久久九九兔免费精品6| 亚洲一区精品伊人久久伊人| 色偷偷88欧美精品久久久| 久久久久久久久久久免费精品| 天天久久狠狠色综合| 国产精品免费看久久久香蕉|