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

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

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

仔细思考一下并不太对;

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

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

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

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

至于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);
}

  

USACO Sabotage, 2014 Mar 破坏阴谋(二分+贪心)的更多相关文章

  1. BZOJ_2196_[Usaco2011 Mar]Brownie Slicing_二分答案+贪心

    BZOJ_2196_[Usaco2011 Mar]Brownie Slicing_二分答案+贪心 Description Bessie烘焙了一块巧克力蛋糕.这块蛋糕是由R*C(1 <= R,C ...

  2. USACO Sabotage

    洛谷 P2115 [USACO14MAR]破坏Sabotage https://www.luogu.org/problem/P2115 JDOJ 2418: USACO 2014 Mar Gold 2 ...

  3. Codeforces Gym 100231B Intervals 线段树+二分+贪心

    Intervals 题目连接: http://codeforces.com/gym/100231/attachments Description 给你n个区间,告诉你每个区间内都有ci个数 然后你需要 ...

  4. UVA LA 7146 2014上海亚洲赛(贪心)

    option=com_onlinejudge&Itemid=8&page=show_problem&category=648&problem=5158&mosm ...

  5. Luogu 1351 NOIP 2014 联合权值(贪心,计数原理)

    Luogu 1351 NOIP 2014 联合权值(贪心,计数原理) Description 无向连通图 G 有 n 个点,n-1 条边.点从 1 到 n 依次编号,编号为 i 的点的权值为 Wi, ...

  6. 2016-2017 ACM-ICPC CHINA-Final Ice Cream Tower 二分+贪心

    /** 题目:2016-2017 ACM-ICPC CHINA-Final Ice Cream Tower 链接:http://codeforces.com/gym/101194 题意:给n个木块,堆 ...

  7. 【bzoj2097】[Usaco2010 Dec]Exercise 奶牛健美操 二分+贪心

    题目描述 Farmer John为了保持奶牛们的健康,让可怜的奶牛们不停在牧场之间 的小路上奔跑.这些奶牛的路径集合可以被表示成一个点集和一些连接 两个顶点的双向路,使得每对点之间恰好有一条简单路径. ...

  8. Codeforces_732D_(二分贪心)

    D. Exams time limit per test 1 second memory limit per test 256 megabytes input standard input outpu ...

  9. CF732D Exams 二分 贪心

    思路:二分+贪心 提交次数:10次以上 错因:刚开始以为二分(边界,$+1or-1$)写错了,调了半天,后来才发现是$ck()$写错了.开始只判了最后是否小于零,而应该中间一旦小于零就$return\ ...

随机推荐

  1. Mysql优化-为表字段添加索引

    1.添加PRIMARY KEY(主键索引): ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) 2.添加UNIQUE(唯一索引) : ALTE ...

  2. 应运而生! 双11当天处理数据5PB—HiStore助力打造全球最大列存储数据库

    阿里巴巴电商业务中历史数据存储与查询相关业务, 大量采用基于列存储技术的HiStore数据库,双11当天HiStore引擎处理数据记录超过6万亿条.原始存储数据量超过5PB.从单日数据处理量上看,该系 ...

  3. JS中常见问题

    //s金额 n保留几位小数 默认保留两位小数 s代表金额,n代表保留的小数位数 function formatMoney(s, n) { n = n > 0 && n <= ...

  4. javaEE_maven_struts2_tomcat_first

    1 .eclipse中新建项目

  5. GDI 像素(5)

    RGB 颜色 使用 RGB 宏可以创建一个由三个整数值(R.G.B)的 COLORREF 值. COLORREF RGB( BYTE byRed, // 红色值(R) BYTE byGreen, // ...

  6. IOS - Ask for Application Badge permission ios8

    UIUserNotificationSettings* notificationSettings = [UIUserNotificationSettings settingsForTypes:UIUs ...

  7. OPENGL学习【一】VS2008开发OPENGL程序开发环境搭建

    1.VS2008工具自行在网上下载安装,现只提供VS2008开发工具中配置OPENGL环境的详细步骤.开发包及编译工具会在下方一并放出链接. 2.打开CMake的工具,主要的配置信息如下,按照数字顺序 ...

  8. webpack使用中遇到的相关问题

    问题一:使用webpack打包jquery后,在页面使用错误信息:$ is not defined new webpack.ProvidePlugin({ "$": "j ...

  9. 51nod-活动安排问题之二

    有若干个活动,第i个开始时间和结束时间是[Si,fi),活动之间不能交叠,要把活动都安排完,至少需要几个教室? 分析:能否按照之一问题的解法,每个教室安排尽可能多的活动,即按结束时间排序,再贪心选择不 ...

  10. Supervisor 从入门到放弃

    前言 Supervisor是一个客户端/服务器系统,允许其用户在类UNIX操作系统上控制许多进程.(官方解释) 简单点来讲,就是一个监控脚本运行的工具,不过他可以统一化管理,laravel的队列文档上 ...