1 条题解

  • 0
    @ 2025-8-24 22:01:46

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar decoqwq
    * *

    搬运于2025-08-24 22:01:46,当前版本为作者最后更新于2020-07-23 10:03:19,作者可能在搬运后再次修改,您可在原文处查看最新版

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

    以下是正文


    考虑贪心,考虑每次从上往下加入一个块,新块 ii 的贡献是 mim\frac{m_i}{\sum m},代表新 xx 重心的移动量,考虑贪心的选择向左或者向右,每次在原最右边 +Δ+\Delta 或者向左移动变为 2Δ2-\Delta,最后取最靠右的答案即可。

    #include <bits/stdc++.h>
    #define maxn 300010
    using namespace std;
    int n,a[maxn];
    double sum,ans;
    int main()
    {
        cin>>n;
        for(int i=1;i<=n;i++)
        {
        	scanf("%d",&a[i]);
        }
        for(int i=n;i>1;i--)
        {
        	int qwq=a[i];
        	a[i]+=a[i+1];
            double del=double(qwq)/double(a[i]);
            ans=max(ans,max(ans+del,2-del));
        }
        printf("%.8lf",ans);
    }
    
    • 1

    信息

    ID
    3608
    时间
    1000ms
    内存
    128MiB
    难度
    4
    标签
    递交数
    0
    已通过
    0
    上传者