传送门:Largest Box
题意:长度为L宽度为W的纸四个角去掉x*x的正方形,然后形成一个长方体,问能组成长方体的最大体积为多少。
分析:三分x求最值。
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
#define N 100010
#define mod 1000000007
#define LL long long
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
using namespace std;
const double eps=1e-;
double L,W;
double calc(double x)
{
return (L-*x)*(W-*x)*x;
}
int main()
{
int T,cas=;
scanf("%d",&T);
while(T--)
{
scanf("%lf%lf",&L,&W);
double l=,r=min(L,W)/2.0,mid,mmid;
while(l<r)
{
mid=(l+r)/2.0;
mmid=(mid+r)/2.0;
if(calc(mid)<=calc(mmid))l=mid+eps;
else r=mmid-eps;
}
printf("Case %d: %.10lf\n",cas++,calc(mid));
}
}