1 条题解

  • 0
    @ 2025-8-24 21:40:54

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar Flokirie
    **

    搬运于2025-08-24 21:40:54,当前版本为作者最后更新于2018-07-07 21:14:41,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    其实,谁说本题爆搜就一定要特别处理有0的情况了?
    作为一名数竞生,我们自有方法。


    【数竞党必备知识】
    柯西不等式:
    对于实数a1,a2,...,ana_1,a_2,...,a_nb1,b2,...,bnb_1,b_2,...,b_n,有:
    $\left( \sum_{k=1}^n a_k b_k \right)^2 \leq \left( \sum_{k=1}^n a_k^2 \right) \left( \sum_{k=1}^n b_k^2 \right).$

    特别地,令n=3n=3,得到柯西不等式的一个特例:
    (ax+by+cz)2(a2+b2+c2)(x2+y2+z2).(ax+by+cz)^2\leq (a^2+b^2+c^2)(x^2+y^2+z^2).
    等号成立当且仅当a,b,ca,b,cx,y,zx,y,z两组数成比例。(0:00:0也算成比例,但是0:10:1不算)

    这样,我们妙用等号成立条件:
    “若(ax+by+cz)2=(a2+b2+c2)(x2+y2+z2)(ax+by+cz)^2=(a^2+b^2+c^2)(x^2+y^2+z^2),则a,b,ca,b,cx,y,zx,y,z两组数成比例。”并且其逆命题也成立。

    回到本题,令a,b,ca,b,c分别为三种饲料的混合后的比例(样例里的21:28:3521:28:35),x,y,zx,y,z分别为欲求饲料的比例(样例里的3:4:53:4:5),对其用柯西不等式即可。

    代码示意如下:

    #define squ(x) ((x)*(x))
    if ((squ(a)+squ(b)+squ(c))*(squ(x)+squ(y)+squ(z))==squ(a*x+b*y+c*z)){
        //do something...
    }
    

    这样就避免了对0的判断。

    • 1

    信息

    ID
    1758
    时间
    1000ms
    内存
    125MiB
    难度
    3
    标签
    递交数
    0
    已通过
    0
    上传者