uva 1476(三分)
Posted 发牌员
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了uva 1476(三分)相关的知识,希望对你有一定的参考价值。
三分求一堆最大值中的最小
#include <iostream> #include <cstring> #include <cstdio> #include <algorithm> using namespace std; const int maxn=10000+100; const int inf=0x3f3f3f3f; double a[maxn],b[maxn],c[maxn]; int t,n; double f(double x) { double maxi=a[1]*x*x+b[1]*x+c[1]; for(int i=2;i<=n;i++) { double mm=a[i]*x*x+b[i]*x+c[i]; maxi=max(maxi,mm); } return maxi; } double sanfen(double l,double r) { while(r-l>1e-10) { double p=l+(r-l)/3.0; double q=r-(r-l)/3.0; if(f(p)<=f(q)) r=q; else l=p; } return l; } int main() { scanf("%d",&t); while(t--) { scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%lf%lf%lf",&a[i],&b[i],&c[i]); double x=sanfen(0,1000.0); printf("%.4lf\n",f(x)); } return 0; }
以上是关于uva 1476(三分)的主要内容,如果未能解决你的问题,请参考以下文章
uva 1463 - Largest Empty Circle on a Segment(二分+三分+几何)