三分-zoj3203

Posted tombraider-shadow

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三分-zoj3203相关的知识,希望对你有一定的参考价值。

三分:   https://blog.csdn.net/pi9nc/article/details/9666627#commentBox

算法模板:

while(l+esp<=r)
        
            double mid=(l+r)/2;
            double midmid=(r+mid)/2;
            double ans1=cal(mid);
            double ans=cal(midmid);
            if(ans1>=ans) r=midmid;
            else l=mid; 
        

----------------------------------------------------------------------------------------------------------

题目:ZOJ 3203

思路:推出公式,三分求答案,t代表人离墙角的距离

#include<iostream>
#include<stdio.h>
#include<math.h>
using namespace std;
//double X1, Y1, x2, y2, vx1, vy1, vx2, vy2;
//double pow2(double x)  return x * x; 
const double esp=1e-6;
double H,h,D;
double cal(double t)

  return D-t+H-(H-h)*D/t;    
 
int main()

    int t;
    cin>>t;
    while(t--)
    
        cin>>H>>h>>D;
        double l=D-h*D/H;
        double r=D;
        while(l+esp<=r)
        
            double mid=(l+r)/2;
            double midmid=(r+mid)/2;
            double ans1=cal(mid);
            double ans=cal(midmid);
            if(ans1>=ans) r=midmid;
            else l=mid; 
        
        printf("%.3lf\n",cal(r));
    
    return 0;

 

以上是关于三分-zoj3203的主要内容,如果未能解决你的问题,请参考以下文章

ZOJ 3203 灯泡

题解 ZOJ3203 Light Bulb

BZOJ3203 SDOI2013 保护出题人 凸包+三分法

bzoj3203: [Sdoi2013]保护出题人

ZOJ 3203: Light Bulb

[bzoj3203][Sdoi2013]保护出题人