zoukankan      html  css  js  c++  java
  • hdu 3400 Line belt (三分套三分)

    题目链接:hdu 3400 Line belt 

    题意:

    在二维平面上给你两条线段AB,CD,线段上的速度分别是v1,v2,在线段外的速度为v3.

    问从A到D最短的时间需要多少。

    题解:

    三分AB上的一个点,三分CD上的一个点。

    即三分套三分。

     1 #include<bits/stdc++.h>
     2 #define F(i,a,b) for(int i=(a);i<=(b);++i)
     3 using namespace std;
     4 typedef long long ll;
     5 typedef pair<double,double>P;
     6 int t;
     7 double v1,v2,v3;
     8 P a[4];
     9 
    10 double dis(P a,P b){return sqrt(pow(a.first-b.first,2)+pow(a.second-b.second,2));}
    11 
    12 double check2(P x,P y){return dis(x,y)/v3+dis(y,a[0])/v1+dis(x,a[3])/v2;}
    13 
    14 double sanfen2(P x)
    15 {
    16     P l=a[2],r=a[3],mid,mmid;
    17     F(i,1,100)
    18     {
    19         mid=P((l.first+r.first)/2,(l.second+r.second)/2);
    20         mmid=P((mid.first+r.first)/2,(mid.second+r.second)/2);
    21         if(check2(mid,x)>check2(mmid,x))l=mid;
    22         else r=mmid;
    23     }
    24     return check2(l,x);
    25 }
    26 
    27 double check(P x){return sanfen2(x);}
    28 
    29 double sanfen()
    30 {
    31     P l=a[0],r=a[1],mid,mmid;
    32     F(i,1,100)
    33     {
    34         mid=P((l.first+r.first)/2,(l.second+r.second)/2);
    35         mmid=P((mid.first+r.first)/2,(mid.second+r.second)/2);
    36         if(check(mid)>check(mmid))l=mid;
    37         else r=mmid;
    38     }
    39     return check(l);
    40 }
    41 
    42 int main()
    43 {
    44     scanf("%d",&t);
    45     while(t--)
    46     {
    47         scanf("%lf%lf%lf%lf",&a[0].first,&a[0].second,&a[1].first,&a[1].second);
    48         scanf("%lf%lf%lf%lf",&a[2].first,&a[2].second,&a[3].first,&a[3].second);
    49         scanf("%lf%lf%lf",&v1,&v2,&v3);
    50         printf("%.2f
    ",sanfen());
    51     }
    52     return 0;
    53 }
    View Code
  • 相关阅读:
    zabbix客户端自动注册
    运维监控篇(2)_Zabbix简单的性能调优
    Zabbix unreachable poller processes more than 75% busy
    RabbitMQ 内存控制 硬盘控制
    RabbitMQ的Q&A
    RabbitMQ性能优化
    消息默认的属性
    RabbitMQ的Vhost,Exchange,Queue原理分析
    逻辑运算符(&& || and or)
    面向对象
  • 原文地址:https://www.cnblogs.com/bin-gege/p/7132752.html
Copyright © 2011-2022 走看看