• BZOJ 1857: [Scoi2010]传送带


    二次联通门 : BZOJ 1857: [Scoi2010]传送带

    /*
        BZOJ 1857: [Scoi2010]传送带
    
        三分套三分
    
        可能是吧。。dalao们都说明显是一个单峰函数
        可是我证不出来。。
        三分第一个线段,和第二个线段
    */
    #include <cstdio>
    #include <iostream>
    #include <cmath>
    #include <cstdlib>
    #define EPS 1e-3
    int Ax, Ay, Bx, By, Cx, Cy, Dx, Dy;
    #define flo double 
    int P, Q, R;
    flo D (flo x, flo y, flo _x, flo _y) 
    {
        return sqrt ((x - _x) * (x - _x) + (y - _y) * (y - _y));
    }
    flo abs (flo a) { return a < 0 ? -a : a; }
    flo Cal (flo Lx, flo Ly)
    {
        flo lx = Cx, ly = Cy, rx = Dx, ry = Dy, Mx1, My1, Mx2, My2, r1, r2;
        for (; abs (rx - lx) > EPS || abs (ry - ly) > EPS; )
        {
            Mx1 = lx + (rx - lx) / 3, My1 = ly + (ry - ly) / 3;
            Mx2 = rx - (rx - lx) / 3, My2 = ry - (ry - ly) / 3;
            r1 = D (Lx, Ly, Mx1, My1) / R + D (Mx1, My1, Dx, Dy) / Q;    
            r2 = D (Lx, Ly, Mx2, My2) / R + D (Mx2, My2, Dx, Dy) / Q;
            if (r1 > r2) lx = Mx1, ly = My1;
               else rx = Mx2, ry = My2;
        }
        return D (Ax, Ay, Lx, Ly) / P + D (Lx, Ly, lx, ly) / R + D (lx, ly, Dx, Dy) / Q;
    }
    
    int Main ()
    {
        scanf ("%d%d%d%d%d%d%d%d", &Ax, &Ay, &Bx, &By, &Cx, &Cy, &Dx, &Dy);
        scanf ("%d%d%d", &P, &Q, &R);     
        flo lx = Ax, ly = Ay, rx = Bx, ry = By, Mx1, My1, Mx2, My2;
        for (; abs (ry - ly) > EPS || abs (rx - lx) > EPS; )
        {
            Mx1 = lx + (rx - lx) / 3, My1 = ly + (ry - ly) / 3;
            Mx2 = rx - (rx - lx) / 3, My2 = ry - (ry - ly) / 3;
            if (Cal (Mx1, My1) > Cal (Mx2, My2)) lx = Mx1, ly = My1;
            else rx = Mx2, ry = My2;
        }
        printf ("%.2lf", Cal (lx, ly));
        return 0;
    }
    
    int ZlycerQan = Main ();
    int main (int argc, char *argv[]) {;}
  • 相关阅读:
    HTML5标签
    CTF web之旅 45
    CTF web之旅44
    CTF web之旅 43
    CTF web之旅 42
    CTF web之旅41
    CTF web之旅40
    CTF web之旅 39
    CTF web之旅 38
    CTF web之旅 37
  • 原文地址:https://www.cnblogs.com/ZlycerQan/p/7485627.html
Copyright © 2020-2023  润新知