Poj2018 Best Cow Fences
传送门
题目大意就是给定一个长度为 n 的正整数序列 A ,求一个平均数最大的,长度不小于 L 的子序列。
思路:
二分答案。
Code:
- #include<iostream>
- #include<cstdio>
- #include<algorithm>
- #include<cmath>
- #include<cstring>
- #include<string>
- #include<cstdlib>
- #include<stack>
- #include<vector>
- #include<queue>
- #include<deque>
- #include<map>
- #include<set>
- using namespace std;
- #define lck_max(a,b) ((a)>(b)?(a):(b))
- #define lck_min(a,b) ((a)<(b)?(a):(b))
- typedef long long LL;
- const int maxn=1e7+;
- LL N,L;
- double a[maxn],b[maxn],sum[maxn];
- inline double resd() {double ls;scanf("%lf",&ls);return ls;}
- inline LL read()
- {
- LL kr=,xs=;char ls;
- ls=getchar();
- while(!isdigit(ls))
- {
- if(!(ls^))
- kr=-;
- ls=getchar();
- }
- while(isdigit(ls))
- {
- xs=(xs<<)+(xs<<)+(ls^);
- ls=getchar();
- }
- return xs*kr;
- }
- int main()
- {
- N=read();L=read();
- for(LL i=;i<=N;i++) a[i]=resd();
- double l=-1e6,r=1e6,eps=1e-;
- while(r-l>eps)
- {
- double mid=(l+r)/;
- for(LL i=;i<=N;i++) b[i]=a[i]-mid;
- for(LL i=;i<=N;i++) sum[i]=sum[i-]+b[i];
- double maxx=-1e10,minn=1e10;
- for(LL i=L;i<=N;i++)
- minn=lck_min(minn,sum[i-L]),maxx=lck_max(maxx,sum[i]-minn);
- if(maxx>=) l=mid;
- else r=mid;
- }
- printf("%lld\n",LL(r*));
- return ;
- }
Poj2018 Best Cow Fences的更多相关文章
- POJ2018 Best Cow Fences —— 斜率优化DP
题目链接:https://vjudge.net/problem/POJ-2018 Best Cow Fences Time Limit: 1000MS Memory Limit: 30000K T ...
- POJ-2018 Best Cow Fences(二分加DP)
Best Cow Fences Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 10174 Accepted: 3294 Desc ...
- loj#10012\poj2018 Best Cow Fences(二分)
题目 #10012 「一本通 1.2 例 2」Best Cow Fences 解析 有序列\(\{a_i\}\),设\([l,r]\)上的平均值为\(\bar{x}\),有\(\sum_{i=l}^r ...
- [USACO2003][poj2018]Best Cow Fences(数形结合+单调队列维护)
http://poj.org/problem?id=2018 此乃神题……详见04年集训队论文周源的,看了这个对斜率优化dp的理解也会好些. 分析: 我们要求的是{S[j]-s[i-1]}/{j-(i ...
- POJ2018 Best Cow Fences 二分
实数折磨人啊啊啊啊啊啊啊 好,实数应该是最反人类的东西了...... 这个害得我调了0.5天才过. 大意是这样的:给你一个数列,求其中不少于f个的连续数的最大平均值. 不禁想起寒假的课程来... 此处 ...
- poj2018——Best Cow Fences
Description Farmer John's farm consists of a long row of N (1 <= N <= 100,000)fields. Each fie ...
- POJ-2018 Best Cow Fences 二分
题意:找到一个连续区间,区间的长度至少大于f,现在要求这个区间的平均值最大. 题解: 二分找答案. 每次对于2分的mid值, 都把原来的区间减去mid, 然后找到一长度至少为f的区间, 他们的区间和& ...
- poj2018 Best Cow Fences[二分答案or凸包优化]
题目. 首先暴力很好搞,但是优化的话就不会了.放弃QWQ. 做法1:二分答案 然后发现平均值是$ave=\frac{sum}{len}$,这种形式似乎可以二分答案?把$len$移到左边. 于是二分$a ...
- POJ 2018 Best Cow Fences(二分+最大连续子段和)
Best Cow Fences Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 14601 Accepted: 4720 Desc ...
随机推荐
- python 循环 while
count = 1while count <= 5: print("大家好!") count = count + 1 结果:while 可以进行循环, count 表示计数, ...
- mysql5安装
一.MYSQL的安装 1.打开下载的mysql安装文件mysql-5.0.27-win32.zip,双击解压缩,运行“setup.exe”. 2.选择安装类型,有“Typical(默认)”.“Comp ...
- 10#Windows注册表的那些事儿
引言 用了多年的Windows系统,其实并没有对Windows系统进行过深入的了解,也正是由于Windows系统不用深入了解就可以简单上手所以才有这么多人去使用.笔者是做软件开发的,使用的基本都是Wi ...
- mysql获取连接connection失败
好久不写jdbc了,今天写了个小东西,数据库连接失败,错误信息如下: java.sql.SQLException: The server time zone value '???ú±ê×??±??' ...
- 【Linux】Jenkins安装(一)
摘要 本章介绍Jenkins的简单使用,关于Jenkins的安装,参照[Linux]Jenkins安装(一) 事例说明:在linux环境下,安装的jenkins,集成svn,tomcat的环境,项目是 ...
- zw版足彩大数据&报价
zw版足彩大数据&报价 ::zw增强版足彩大数据,文件名后缀是'.dat' ::文件格式是标准文本格式,逗号分隔 ::zw增强版,在标准版赔率基础上,增加了倒数.比率两组归一化数据 ::zw版 ...
- Flask-Script
其实本章就是为下一章做的铺垫啦,但是也要认真学习哦 Flask-Script 从字面意思上来看就是 Flask 的脚本 Django的启动命令是:python manager.py runserver ...
- oracle:SQL时间段
oracle: SQL时间段 CREATEDATE between to_date('" + startDate + " 00:00:00','yyyy-mm-dd hh24:mi ...
- 2018-2019-2 20165316 《网络对抗技术》 Exp6 信息搜集与漏洞扫描
2018-2019-2 20165316 <网络对抗技术> Exp6 信息搜集与漏洞扫描 1.实践目标 掌握信息搜集的最基础技能与常用工具的使用方法. 2.实践内容 (1)各种搜索技巧的应 ...
- js'基础-1
---恢复内容开始--- ----------- 1.return <!DOCTYPE html><html lang="en"><head> ...