loj10012 Best Cow Fences
题目描述
原题来自:USACO 2003 Mar. Green
给定一个长度为 N 的非负整数序列 A ,求一个平均数最大的,长度不小于 L 的子段。
输入格式
第一行用空格分隔的两个整数 N 和 L;
第二行为 N 个用空格隔开的非负整数,表示A_i 。
输出格式
输出一个整数,表示这个平均数的 1000 倍。不用四舍五入,直接输出。
样例
样例输入
10 6
6 4 2 10 3 8 5 9 4 1
样例输出
6500
数据范围与提示
n<=1e5,A_i<=2000。
______________________________________________
USACO的题目,很经典!
求的是长度不小于L,平均值最大的子序列。输出平均值。
二分平均值,然后让序列中的后有的数都减去二分的平均值,这样如果某个子序列的所有数的和大于0,则这个子序列的平均值大于二分的平均值!
题目不算难做,但是最后结果的处理比较麻烦,保留三位小数但不四舍五入!!
处理了好几次 !
#include<bits/stdc++.h>
using namespace std;
const int maxn=1e5+10;
int n,l;
double sz[maxn],f[maxn];
bool pd(double x)
{
for(int i=1;i<=n;++i)f[i]=sz[i]-x;
double mn=0;
for(int i=1;i<l;++i)f[i]=f[i-1]+f[i];
for(int i=l;i<=n;++i)
{
f[i]=f[i]+f[i-1];
mn=min(mn,f[i-l]);
if(f[i]>=mn)return 1;
}
return 0;
} int main()
{
scanf("%d%d",&n,&l);
for(int i=1;i<=n;++i)scanf("%lf",sz+i);
double l=0,r=2000;
while(l+1e-8<r)
{
double mid=(l+r)/2;
if(pd(mid))l=mid;
else r=mid;
}
cout<<int(r*1000);
return 0;
}
loj10012 Best Cow Fences的更多相关文章
- POJ 2018 Best Cow Fences(二分+最大连续子段和)
Best Cow Fences Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 14601 Accepted: 4720 Desc ...
- POJ-2018 Best Cow Fences(二分加DP)
Best Cow Fences Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 10174 Accepted: 3294 Desc ...
- POJ2018 Best Cow Fences —— 斜率优化DP
题目链接:https://vjudge.net/problem/POJ-2018 Best Cow Fences Time Limit: 1000MS Memory Limit: 30000K T ...
- 一本通 1434:【例题2】Best Cow Fences
Best Cow Fences 二分答案 + 前缀和 个人认为题意没有表述清楚,本题要求的是满足题意的连续子序列(难度大大降低了有木有). 本题的精度也是非常令人陶醉,请您自行体会吧! #includ ...
- 1434:【例题2】Best Cow Fences
1434:[例题2]Best Cow Fences 时间限制: 1000 ms 内存限制: 65536 KB提交数: 263 通过数: 146 [题目描述] 给定一个长度为n的 ...
- loj#10012\poj2018 Best Cow Fences(二分)
题目 #10012 「一本通 1.2 例 2」Best Cow Fences 解析 有序列\(\{a_i\}\),设\([l,r]\)上的平均值为\(\bar{x}\),有\(\sum_{i=l}^r ...
- Poj 2018 Best Cow Fences(分数规划+DP&&斜率优化)
Best Cow Fences Time Limit: 1000MS Memory Limit: 30000K Description Farmer John's farm consists of a ...
- POJ 2018 Best Cow Fences (二分答案构造新权值 or 斜率优化)
$ POJ~2018~Best~Cow~ Fences $(二分答案构造新权值) $ solution: $ 题目大意: 给定正整数数列 $ A $ ,求一个平均数最大的长度不小于 $ L $ 的子段 ...
- [USACO2003][poj2018]Best Cow Fences(数形结合+单调队列维护)
http://poj.org/problem?id=2018 此乃神题……详见04年集训队论文周源的,看了这个对斜率优化dp的理解也会好些. 分析: 我们要求的是{S[j]-s[i-1]}/{j-(i ...
随机推荐
- easyui中在formatter: function (value, row,index) {中添加删除方法
{ field : 'abj', title : '操作', align : 'center', resizable:false, width:'10%', formatter: function ( ...
- sql优化的几种方式
一.为什么要对SQL进行优化 我们开发项目上线初期,由于业务数据量相对较少,一些SQL的执行效率对程序运行效率的影响不太明显,而开发和运维人员也无法判断SQL对程序的运行效率有多大,故很少针对SQL进 ...
- SpringBoot 获取微信小程序openid
最近做一个项目用到小程序,为了简化用户啊登录,通过获取小程序用户的openid来唯一标示用户. 1.官方教程 2.具体步骤 3.具体实现 4.可能出现的错误 5.代码下载 1.官方教程 先来看看官方怎 ...
- ArrayListHashmap嵌套
package arrayListHashMap; import java.util.ArrayList; import java.util.HashMap; import java.util.Map ...
- Lambda 表达式实例
public class Java8Tester {/*** 语法 lambda 表达式的语法格式如下: (parameters) -> expression 或 (parameters) -& ...
- 云计算之2---KVM
介绍 KVM KVM:就是Keyboard Video Mouse的缩写.KVM 交换机通过直接连接键盘.视频和鼠标 (KVM) 端口,让您能够访问和控制计算机.KVM 技术无需目标服务器修改软件.这 ...
- web.xml中配置启动时加载的servlet,load-on-starup
web.xml中配置启动时加载的servlet,load-on-starup 使用servlet来初始化配置文件数据: 在servlet的配置当中,<load-on-startup>1&l ...
- 对象存储 COS 全新集成媒体处理功能
根据<2020年中国网络视听发展研究报告>,截至2020年6月,我国网络视听用户规模达9.01亿,网民使用率95.8%.这表明视频行业已经成为新的流量洼地,而抖音.快手等视频平台的崛起也让 ...
- idea启动build过慢
原文链接http://zhhll.icu/2020/04/17/idea/idea%E4%B9%8B%E7%BC%96%E8%AF%91%E9%97%AE%E9%A2%98/ 之前使用idea的时候每 ...
- 解放双手,markdown文章神器,Typora+PicGo+七牛云图床实现自动上传图片
本文主要分享使用Typora作为Markdown编辑器,PicGo为上传图片工具,使用七牛云做存储来解放双手实现图片的自动化上传与管理.提高写作效率,提升逼格.用过 Markdown 的朋友一定会深深 ...