一开始看完这题就有个想法:

只要把大于整个序列平均数的最大连续序列就是最优?

那把整个序列都减掉平均数 在做最大连续字序列和且记录长度?

仔细思考一下并不太对;

当子序列最大但长度较大 也许也比不上删去一个超过平均数许多的机器;

盲目的贪心是错的;但找对方向问题就解决了;

我们可以发现 若删除机器后平均值越小;超过这平均值的可删除的机器就越多;

满足了单调性 ;就可以二分了;

至于check()就是基于上面的贪心;也是预处理后做最大连续字序列和做判断;

T(nlogn)

#include<cstdio>
#include<cstring>
using namespace std;
double mid,a[100010],maxx,ans,s,l,r;
int n,i,j,k;
bool check(double x)
{
int num=0;double sum=0;
for(i=2;i<n;++i)
{
if(sum+a[i]>0)
sum+=a[i],num++;
else sum=a[i],num=1;
if(sum<a[i])sum=a[i],num=1;
if((ans-1.0*sum-num*x)/(n-num)<=mid)return true;
}
return false;
}
int main()
{
// freopen("xx.in","r",stdin);
scanf("%d",&n);
for(i=1;i<=n;++i)
{
scanf("%lf",&a[i]);
ans+=a[i];
}
r=1e9;l=1;
while(l+1e-6<r)
{
mid=(l+r)/2;
for(i=2;i<n;++i)a[i]-=mid;
if(check(mid))r=mid;
else l=mid;
for(i=2;i<n;++i)a[i]+=mid;
}
printf("%.3lf",r+5e-6);
}

  

最新文章

  1. 在Linux配置Nginx web服务器步骤
  2. Android调用系统相机功能
  3. 我的新博客:www.wangyufeng.org
  4. ORA-12543: TNS:destination host unreachable
  5. 开源--豆瓣小组UWP,已上架应用商店
  6. 帝国cms栏目自定义字段首页调用
  7. 运行Myeclipse发生这事这是怎么回事,大神们
  8. 图结构练习——最小生成树(kruskal算法(克鲁斯卡尔))
  9. Gym 100507I Traffic Jam in Flower Town (模拟)
  10. Matrix的set,pre,post调用顺序
  11. 未能加载文件或程序集“Common”或它的某一个依赖项。试图加载格式不正确的程序
  12. 腾讯云存储专家深度解读基于Ceph对象存储的混合云机制
  13. install scrapy
  14. SSH免密远程登陆及详解
  15. 分享下自己写的一个微信小程序请求远程数据加载到页面的代码
  16. xadmin后台分段导出避免timeout
  17. Codeforces Round #524 (Div. 2) E. Sonya and Matrix Beauty(字符串哈希,马拉车)
  18. c# windows服务
  19. windows 2012 R2安装SqlServer2016提示缺少KB2919355
  20. Hyper-V创建固定大小虚拟机

热门文章

  1. axis2服务器搭建
  2. mac os x install redis-3.2.9
  3. 路飞学城Python-Day117
  4. jq操作table追加td
  5. Performance Co-Pilot
  6. Win 10安装mysql以及常见问题总结
  7. Vue学习之路第十九篇:按键修饰符的使用
  8. 一、简介 ELO商户类别推荐有助于了解客户忠诚度
  9. ubuntu 下jrtplib编译
  10. rtsp://192.168.1.198:554/PSIA/streaming/channels/101