• 10.10T4 糖水不等式+贪心


    明显根据糖水不等式Ay,Ax一定时,因为分母一定大于分子,所以Az越大越好,同理Ax,Ay的差距越小越好

    于是我们确定左边 i 为Ax,不超边界的情况下i+1就是Ay,然后upper_bound查Az

    注意精度

    code:

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<algorithm>
     4 using namespace std;
     5 int a[100005];
     6 int read(){
     7     int x=0,f=1;
     8     char c=getchar();
     9     while(!isdigit(c)){
    10         if(c=='-')f=-1;
    11         c=getchar();
    12     }
    13     while(isdigit(c)){
    14         x=(x<<1)+(x<<3)+c-'0';
    15         c=getchar();
    16     }
    17     return x*f;
    18 }
    19 int main(){
    20     int T;
    21     cin>>T;
    22     while(T--){
    23         double ans=-1;
    24         int n,m;
    25         n=read(),m=read();
    26         for(int i=1;i<=n;i++)a[i]=read();
    27         sort(a+1,a+n+1);
    28         int head=1;
    29         for(int i=1;i<=n-2;i++){
    30             if(a[i+2]>a[i]+m)continue;
    31             head=upper_bound(a+1,a+n+1,a[i]+m)-a-1;
    32             ans=max(ans,double(a[head]-a[i+1])/(a[head]-a[i])*1.0);
    33         }
    34         if(ans<0){
    35             cout<<-1<<'
    ';
    36             continue;
    37         }
    38         printf("%.9lf
    ",ans);
    39     }
    40     return 0;
    41 }

    over

  • 相关阅读:
    Manacher-模版题poj3974 hdu3068
    拓展kmp(带注释版)
    颓の第17周
    php 递归遍历目录带缩进
    php 递归遍历目录
    php session
    apache主机配置
    php环境配置的检测方法
    php 变量
    php MVC
  • 原文地址:https://www.cnblogs.com/saionjisekai/p/9768279.html
Copyright © 2020-2023  润新知