zoukankan      html  css  js  c++  java
  • Grakn Forces 2020 C. Discrete Acceleration (二分+模拟)

    题意: 两个车相向而行,初始速度为1 ,当到达 a[i] 的位置的时候,速度就会+1,问什么时候回相遇

    思虑:二分查找时间。

    #include<bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    const int N=2e5+10;
    const double eps=1e-7;
    int n,l;
    int a[N];
    int check(double ti)
    {
        double dis1=0,t1=0;
        int s1=1;
        for(int i=1;i<=n+1;i++){
            if(t1+double(a[i]-a[i-1])/(s1*1.0)>ti){
                  dis1+=(ti-t1)*(s1*1.0);
                  break;
            }
            else{
                t1+=double(a[i]-a[i-1])/(s1*1.0);
                s1++;
                dis1=a[i];
            }
        }
           double  t2=0,dis2=0;
           int s2=1;
         for(int i=n;i>=0;i--){
            if(t2+double(a[i+1]-a[i])/(s2*1.0)>ti){
                  dis2+=(ti-t2)*(s2*1.0);
                  break;
            }
            else{
                t2+=double (a[i+1]-a[i])/(1.0*s2);
                s2++;
                dis2=l-a[i];
            }
        }
      //  cout<<"dis1 "<<dis1<<" "<<"dis2 "<<dis2<<endl;
        if(dis1+dis2>l)
            return 1;
        else
            return 0;
    
    
    }
    int main()
    {
        int t;
        cin>>t;
            while(t--)
            {
                cin>>n>>l;
                for(int i=1;i<=n;i++)
                cin>>a[i];
                a[n+1]=l;
                a[0]=0;
                double l=0,r=1e9;
                while(r-l>eps)
                {
    
                    double mid=(l+r)/(2*1.0);
                    if(check(mid)==1)
                        r=mid;
                    else l=mid;
                }
              printf("%.8lf
    ",l);
    
            }
    
        }
  • 相关阅读:
    POJ 1466 最大独立点集
    POJ 3159 差分约束
    POJ 3411 DFS
    POJ 2665 模拟,,
    POJ 3134 Power Calculus ID-DFS +剪枝
    POJ 1543 暴搜
    455. Assign Cookies
    715. Range Module
    530. Minimum Absolute Difference in BST
    493. Reverse Pairs(BST, BIT, MergeSort)
  • 原文地址:https://www.cnblogs.com/sszywq/p/13762555.html
Copyright © 2011-2022 走看看