H题数据有没有卡常?

为什么H时间复杂度为4e8会超时?

#include<bits/stdc++.h>
// #define int long long
#define ld double
// #define endl '\n'
using namespace std;
inline int read() {
    int x = 0, f = 1; char c = getchar();
    while (c < '0' || c > '9') { if (c == '-') f = -1; c = getchar(); }
    while (c >= '0' && c <= '9') x = x * 10 + c - '0', c = getchar();
    return x * f;
}
void solve()
{
    ld a=read(),b=read(),c=read(),d=read();
    // cin>>a>>b>>c>>d;
    ld x1=a,y1=c;
    ld x2=b,y2=d;
    int i;
    ld maxn1=-1e9,x3=-1e9,y3=-1e9;
    for(i=a+1;i<b;i++)//枚举x
    {
        // cout<<i<<" ";
        ld midx=(i+a)/2,midy=(c+d)/2;
        assert(a!=i);
        ld k=(d-c)/(i-a);

        ld k1=1/k;
        ld xo=(i+b)/2;
        ld yo=xo*k1+midy-midx*k1;
        ld R2=(xo-a)*(xo-a)+(yo-c)*(yo-c);
        // cout<<R2<<" ";
        if(R2>maxn1)
        {
            maxn1=R2;
            y3=d;
            x3=i;
            // cout<<"jhffbjhvbgfgbfv";
        }
    }
    // cout<<x3<<" "<<y3<<endl;
    ld maxn2=-1e9,x4=-1e9,y4=-1e9;
    for(i=c+1;i<d;i++)
    {
        ld midx=(a+b)/2,midy=(i+d)/2;
        ld k=(d-i)/(b-a);
        ld k1=1/k;
        ld yo=(i+c)/2;
        ld xo=(yo-midy+midx*k1)/k1;
        ld R2=(xo-a)*(xo-a)+(yo-c)*(yo-c);
        if(R2>maxn2)
        {
            maxn2=R2;
            x4=a;
            y4=i;
        }
    }

    // cout<<a<<" "<<c<<endl;
    printf("%.0lf %.0lf\n",a,c);

    // cout<<b<<" "<<d<<endl;
    printf("%.0lf %.0lf\n",b,d);
    ld R=sqrt((d-c)*(d-c)+(b-a)*(b-a));
    R=R/2;
    R=R*R;
    if(R>=maxn1&&R>=maxn2)
    {
        printf("%.0lf %.0lf\n",a,d);
        return;
    }
    if(maxn1>maxn2)
    {
        // cout<<"jmhbvjbhvfjhbr";
        printf("%.0lf %.0lf\n",x3,y3);
    }
    else
    printf("%.0lf %.0lf\n",x4,y4);
}
signed main()
{
    // std::ios::sync_with_stdio(false);
    // cin.tie(nullptr);
    // cout.tie(nullptr);
    int t=read();
    // cin>>t;
    while(t--)
    {
        solve();
        // cout<<endl;
    }
    return 0;
}

全部评论
蹲(4e8,TLE+1)
点赞 回复 分享
发布于 2025-01-23 19:36 湖北
无,每次回答是 O(1)
点赞 回复 分享
发布于 2025-01-23 18:45 福建

相关推荐

开发转测第二人:没实习的话,两个项目吧,八股也要准备一下,这个时间点有点小晚了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务