ABC159C Maximum Volume

Maximum Volume

题目大意:

给你一个立方体的三条相邻的棱长总和 \(L\) ,求该立方体的体积最大为多少(棱长不一定为整数)(答案保留 \(12\) 位小数)。

说白了就是已知 \(a + b + c = L\) ,要求 \(a \times b \times c\) 的最大值,但 \(a\)\(b\)\(c\) 不一定是整数且它们大于 \(0\)

由题意得:\(a > 0\)\(b > 0\)\(c > 0\) ,则 \(ans = a \times b \times c\) 。由均值不等式得到 \(a \times b \le (a^2 + b^2) / 2\) ,所以 \(ans \le (a^2 + b^2) \times c / 2\) 。因此当 \(ans\) 最大时,满足 \(a \times b \times c = (a^2 + b^2) \times c / 2\) 。因为 \(c > 0\) ,所以 \(a \times b = (a^2 + b^2) / 2\) ,解得 \(a = b\)。同理可得,当 \(ans\) 最大时,\(b = c\) 。所以当 \(ans\) 最大时, \(a = b = c = \frac{L}{3}\) ,即 \(ans_{max} = (\frac{L}{3})^3\)

所以,代码就变得非常简单了:

#include <bits/stdc++.h>
using namespace std;

int main(){
    double l;
    scanf("%lf", &l);
    printf("%.12f\n", l/3*l/3*l/3); //这里就不多解释了,记得保留12位小数
    return 0;
}

然而事实上,本题只需简单地打一下表就可以知道这显而易见的答案 o(TヘTo)。

posted @ 2020-04-04 22:33  litluo  阅读(161)  评论(0编辑  收藏  举报