• 二分三分


    HDU 2274

    三分 求这些二次函数最大值最小 

    反正三分能求吧 

    #include <iostream>
    #include<string.h>
    #include<stdio.h>
    #include<algorithm>
    #include<string>
    #include<math.h>
    
    using namespace std ;
    
    #define e 2.7182818284
    #define LL __int64
    #define MAXN 20010
    #define inf  1000000000
    
    struct para
    {
        int a,b,c;
    }pa[MAXN];
    int n;
    
    double f1(double a)
    {
        double m1=-inf;
        for(int i=1;i<=n;i++)
        {
            if(pa[i].a*a*a+pa[i].b*a+pa[i].c>m1)
                m1=pa[i].a*a*a+pa[i].b*a+pa[i].c;
        }
        return m1;
    }
    int main()
    {
        int t;
        scanf("%d",&t);
        while(t--)
        {
            scanf("%d",&n);
            for(int i=1;i<=n;i++)
                scanf("%d%d%d",&pa[i].a,&pa[i].b,&pa[i].c);
            double ll,rr;
            ll=0;
            rr=1000;
            while(rr-ll>1e-9)
            {
                double l,r;
                l=ll+(rr-ll)/3;
                r=ll+2*(rr-ll)/3;
                if(f1(r)>f1(l))
                    rr=r;
                else
                    ll=l;
            }
            printf("%.4lf
    ",f1(ll));
        }
        return 0;
    }
    View Code

    HDU 2289

    给你一些量  算出杯子里面水的高度

    二分就行 

    #include <iostream>
    #include<string.h>
    #include<stdio.h>
    #include<algorithm>
    #include<string>
    #include<math.h>
    
    using namespace std ;
    
    #define e 2.7182818284
    #define LL __int64
    #define MAXN 20010
    #define inf  1000000000
    
    double pi  = 4*atan(1.0);
    double r,R,h,v;
    double f(double a)
    {
        double r1=(R-r)*a/h+r;
        return a*pi*(r*r+r*r1+r1*r1)/3;
    }
    int main()
    {
        int t;
        scanf("%d",&t);
        while(t--)
        {
            double l1,r1;
            scanf("%lf%lf%lf%lf",&r,&R,&h,&v);
            l1=0;
            r1=h;
            while(r1-l1>1e-9)
            {
                double mid=(l1+r1)/2;
               // printf("%lf %lf
    ",L,R);
                if(f(mid)>v)
                    r1=mid;
                else
                    l1=mid;
    
            }
            printf("%.6lf
    ",l1);
        }
        return 0;
    }
    View Code
  • 相关阅读:
    爬虫时http错误提示
    json.dumps()和json.loads()
    scrapy框架原理学习
    利用tushare进行对兴业银行股价的爬取,并使用numpy进行分析
    随机生成60位同学成绩,并求他们的平均数,中位数,众数等
    numpy中random的使用
    matplotlib中subplot的使用
    使用matplotlib画饼图
    乔坟,乔坟!
    c#控件的动画显示效果
  • 原文地址:https://www.cnblogs.com/cherryMJY/p/6492289.html
Copyright © 2020-2023  润新知