首页 > 其他分享 >2023秋季专题训练五(二分)F

2023秋季专题训练五(二分)F

时间:2023-12-21 23:11:06浏览次数:34  
标签:二分 专题 return 平均值 int double mid 2023 区间

问题 K: 计算平均值最大子段

可以想到的做法是先枚举区间长度,然后计算每一个符合的区间平均值,但是会超时(timeout),很明显是时间复杂度n^2

考虑如何优化(当然一开始没想到,还是老师提醒了一波)(明明之前课上还做到过)(哭)

如何在O(n)判断一个区间是否满足,除了前缀和加除法的方法,也可以将数组的所有元素减去平均值再做前缀和,这样如果区间大于等于0那么就是满足的,相当于式子转化一下((a+b+c)/len=avg => a+b+c=len*avg)

这样我们就可以贪心的想,最大值-最小值>=0,且保证两则距离大于等于L,这样即可在O(n)下完成

下面是实现过程:
先让区间[l,r](保证r-l>=L)右移,维护[0,l-1]的最小值,对于每个r,如果pre[r]-mn>=0则满足

点击查看代码
int n,L;
double a[N],pre[N];

bool check(double x){
    for(int i=1;i<=n;i++) pre[i]=pre[i-1]+a[i]-x;//将求平均值直接转化为前缀和
    double  mn=1e9;
    for(int i=L,j=0;i<=n;i++,j++){
        mn=min(mn,pre[j]);//取区间外前缀的最小值
        if(pre[i]-mn>=0) return true;//枚举每个符合的i
    }
    return false;
}

void bu_f(){
    n=read(),L=read();
    for(int i=1;i<=n;i++) cin>>a[i];
    double l=0,r=3000;
    while(r-l>1e-5){
        double mid=(l+r)/2;
        if(check(mid)) l=mid;
        else r=mid;
    }
    cout<<(int)(r*1000);//注意输出,向上取整直接取r即可
}

标签:二分,专题,return,平均值,int,double,mid,2023,区间
From: https://www.cnblogs.com/bu-fan/p/17920324.html

相关文章

  • 20231221
    软件需求与分析课堂测试十一—综合案例建模分析(100分)销售订货管理系统是ERP的源头,如何管控销售订单下达、评审、跟进,不光是从软件上做约束管理,同时要从工作流程规定上做规范。【开发目的】规范公司订单下达、评审业务流程,提高客户订单准时交货率。【适用范围】适用于公司订......
  • 新火种AI成功协办2023广州国际人工智能展览会
    2023年12月20日-22日,由新火种协办的2023广州国际人工智能展览会在广州琶洲-保利世贸博览馆成功举行。本次大会汇聚众多知名企业、政府机构、科创平台、高等院校,集中展示前沿人工智能技术与应用成果,是中国人工智能领域最具影响力和前瞻性的展会之一。 作为本次展会的协办单位,新火种......
  • 闲话 2023.12.21
    网易云年度报告今天进行一个好题的分享,感觉我整个尬在台上了,选的题太简单了差点被创汇一的nb人士给切了......
  • 2023年12月20日阅读笔记
    《阿里测试之道》本次以其中涉及电商的测试场景为例,记录一下“大促质量保障”一章的读书笔记。这一章主要讲述了在大促场景下,全链路压测是如何实施的,以及通过什么方式保证最终大促时的生产环境稳定性。风险与挑战全链路压测目标:尽可能真实模拟流量洪峰,进行高可用验证用例场景需......
  • 【专题】2023零售连锁品牌数字化运营研究及策略报告PDF合集分享(附原数据表)
    原文链接:https://tecdat.cn/?p=34632原文出处:拓端数据部落公众号在2022年,由于疫情的短期影响,消费市场受到明显扰动,服装和家居行业出现了明显的下滑。过去三年,数字化是零售行业实现降本增效的关键手段。然而,随着2023年的消费复苏,线下实体门店开始获得“修复式”增长,零售品牌的数......
  • Week1——STL 与基础数据结构专题训练
    https://blog.csdn.net/qq_46025844/article/details/127948957 实训概要实训专题STL与基础数据结构专题训练实训目的掌握STL常用的算法、容器、容器适配器的使用方法。能够利用STL的算法、容器、容器适配器求解问题。题目列表A:摘苹果B:立方和C:计算个数D:后缀表达式的值E:做蛋糕......
  • 2023-2024-1学期20232412《网络空间安全导论》第三周学习总结
    教材学习内容总结了解当下网络安全面临的威胁了解网络安全体系结构初步认识网络安全防护技术的种类从法律、管理层面认识网络安全认识当前新兴网络及安全技术思维导图教材学习中的问题和解决过程问题1:对开放系统互联模型的认识不够清晰解决方案:与AI模型进行苏格拉底挑......
  • 【专题】2022中国预制菜数字消费报告PDF合集分享(附原数据表)
    报告链接:https://tecdat.cn/?p=33388原文出处:拓端数据部落公众号近年来,中国的预制菜行业迅速发展,已成为消费者生活中不可或缺的一部分。研究报告显示,预制菜行业在美国和日本等国家已经发展了很长时间,与中国市场相比,中国的预制菜市场仍有巨大的增长潜力。预制菜行业的蓬勃发展主......
  • CWOI DS 专题 2
    怎么又开一个ds专题啊/yunA-如何正确地排序以前写的,把以前写的题解贺过来。正难则反,总贡献减去不会成为\(\min/\max\)的数。\(B_i+B_j\)不会产生贡献的条件就是存在\(A_i+A_j,C_i+C_j\)满足\(\begin{cases}A_i+A_j\leB_i+B_j\\B_i+B_j\leC_i+C_j\end{cases}\),移项......
  • 2023第七届强网杯 个人题解
    27htppySpring评价:相对简单,放出来的晚,做的出来的人相对比较少大致流程是可以上传.pebble模板文件,然后通过访问上传的恶意模板文件进行rce。首先上传恶意模板文件,经过几次尝试,黑名单过滤了,org.springframework.context.support.ClassPathXmlApplicationContext和{{最终.pe......