1 条题解

  • 0
    @ 2025-10-8 16:52:51

    A05 二分查找算法 最好的板子

    #include<bits/stdc++.h>
    using namespace std;
    const double eps=1e-6;
    double a, b, c, d;
    double f(double x){return a*x*x*x + b*x*x + c*x + d;}
    int main()
    {
        scanf("%lf%lf%lf%lf", &a, &b, &c, &d);
        int p=(a<0);
        for(double i=-100.0; i<=100.0; i+=1.0)
        {
            double l=i, r=i+1.0;
            while(l<r)
            {
                double mid=(l+r)/2;
                double t=f(mid);
                if(fabs(t)<eps) {printf("%.6lf ", mid); p++; break;}
                
                if(t>eps) {(p%2==0) ? r=mid : l=mid;}
                else      {(p%2==0) ? l=mid : r=mid;}
            }
        }
        return 0;
    }
    
    • 1

    A05*【二分】一元三次方程求解[NOIP提高组2001改]

    信息

    ID
    619
    时间
    100ms
    内存
    128MiB
    难度
    8
    标签
    递交数
    365
    已通过
    63
    上传者