链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网

时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 32768K,其他语言65536K
64bit IO Format: %lld

题目描述

Farmer John's farm consists of a long row of N(1≤N≤100,000)fields. Each field contains a certain number of cows,1≤ncows≤2000.
FJ wants to build a fence around a contiguous group of these fields in order to maximize the average number of cows per field within that block. The block must contain at least F (1≤F≤N)) fields, where F given as input.
Calculate the fence placement that maximizes the average, given the constraint.

输入描述:

* Line 1: Two space-separated integers, N and F.
* Lines 2..N+1: Each line contains a single integer, the number of cows in a field. Line 2 gives the number of cows in field 1,line 3 gives the number in field 2, and so on.

输出描述:

* Line 1: A single integer that is 1000 times the maximal average.Do not perform rounding, just print the integer that is 1000×ncowsnfields\frac{1000\times ncows}{nfields}nfields1000×ncows​.

示例1

输入

10 6
6
4
2
10
3
8
5
9
4
1

输出

6500

二分答案

AC代码:

#include <bits/stdc++.h>
using namespace std;
const double eps = 1e-5;
double a[100010],b[100010],sum[100010];
int main(){ios::sync_with_stdio(false);cin.tie(nullptr);int n,L;cin >> n >> L;for(int i = 1;i <= n;i++) cin >> a[i];double l = -1e6,r = 1e6;while(r - l > eps){double mid = (l + r) / 2;for(int i = 1;i <= n;i++) b[i] = a[i] - mid;for(int i = 1;i <= n;i++) sum[i] = (sum[i - 1] + b[i]);double ans = -1e10;double min_val = 1e10;for(int i = L;i <= n;i++){min_val = min(min_val,sum[i - L]);ans = max(ans,sum[i] - min_val);}if(ans >= 0) l = mid;else r = mid;}cout << int(r * 1e3) << endl;return 0;
}

Best Cow Fences题解相关推荐

  1. POJ2018 Best Cow Fences —— 斜率优化DP

    题目链接:https://vjudge.net/problem/POJ-2018 Best Cow Fences Time Limit: 1000MS   Memory Limit: 30000K T ...

  2. POJ 2018 Best Cow Fences (二分答案构造新权值 or 斜率优化)

    $ POJ~2018~Best~Cow~ Fences $(二分答案构造新权值) $ solution: $ 题目大意: 给定正整数数列 $ A $ ,求一个平均数最大的长度不小于 $ L $ 的子段 ...

  3. 【二分】Best Cow Fences(poj 2018)

    Best Cow Fences poj 2018 题目大意: 给出一个正整数数列,要你求平均数最大,长度不小于M的字串,结果乘1000取整 输入样例 10 6 6 4 2 10 3 8 5 9 4 1 ...

  4. 【实数二分/前缀和维护】Best Cow Fences

    Poj 2018 Best Cow Fences 实数二分+前缀和维护 调了一晚上, 但发现没什么注意事项orz 无输出只因eps定义成了int型QAQ哭唧唧 #include<cstdio&g ...

  5. 1434 Best Cow Fences

    1434 Best Cow Fences 来自一本通的二分,练习二分啊啊啊 求一个子序列,并且使得平均数最大,很明显是一个二分查找,也不知道要维护什么信息 一般对于这样的子序列的问题,肯定会设计到前缀 ...

  6. 2020 GDUT Rating Contest I (Div. 2) A - Cow Gymnastics 题解

    好吧--是时候补一下题解了 原题 题目大意 给出n只牛,k次排序,如果有一只牛一直比另外一只牛更前算作一对,输出一共有多少对. 题目分析 水题(数据规模小),一开始初始化全部都可以,然后一个个删去就行 ...

  7. 102. Best Cow Fences

    Powered by:NEFU AB-IN Link 文章目录 102. 最佳牛围栏 题意 思路 代码 102. 最佳牛围栏 题意 农夫约翰的农场由 N 块田地组成,每块地里都有一定数量的牛,其数量不 ...

  8. 「一本通 1.2 例 2」Best Cow Fences

    题目链接: 链接: [link](信息学奥赛一本通(C++版)在线评测系统). 首先这道题要求找平均数,且要求所选片段长度需要大于等于l.那么首先想到的就是最暴力的方法就是找到所有大于等于l的片段在其 ...

  9. POJ - 2018 Best Cow Fences(二分+最长连续子段和)

    题目链接:点击查看 题目大意:给出n个正整数,求一个平均数最大的.长度不小于L的连续子段 题目分析:因为这个题目的答案满足二分的性质,也就是若二分的平均数小于答案,则更小的平均数肯定都满足答案(因为这 ...

最新文章

  1. 深思:如何堂堂正正的做事
  2. iOS 绘画 点与像素
  3. 苹果应用ipa图片提取
  4. 人工智能的策略,如果国家优先发展”梦想成真”?
  5. html源码md风格,code/html.md at master · Rongx/code · GitHub
  6. set hive.map.aggr=true 时统计PV数据错误
  7. java jstack 死锁_利用jstack检测死锁DeadLock
  8. Java 简单五子棋程序的实现
  9. STM32工作笔记0068---SPI同步通信Flash读写实验
  10. Codeforces Round #249 (Div. 2) (模拟)
  11. 3ds max制作宋惠乔的教程----作者: 火星时代 来源: 火星时代
  12. 【转】GBK编码表和GBK编码规范
  13. Halcon软件安装教程
  14. 这一次的互联网寒冬,又会有多少人倒下?
  15. PostgreSQL-11.7关系型数据库源码安装
  16. python获取mac地址_python获取mac地址的方法
  17. 神舟战神Z7M-笔记本背光灯怎样打开?
  18. 嵌入式Linux之我行——C+CGI+Ajax在S3C244
  19. 讯飞智能录音笔SR502内存升级,实力更强大
  20. 波音737座位哪里好_我的座位在哪里?

热门文章

  1. 【社招】一年测开经验转后端开发经历。
  2. Power Table
  3. c/c++ 中有关freeopen介绍
  4. 孝感学院专升本计算机试卷,湖北工程学院自学考试历年真题有参考性吗
  5. Leo仿【DOTA视频站】项目实践【三】---- 获取DOTA2视频已经XListView实现上拉加载更多、下拉刷新
  6. 计算机技术在模具设计中的应用,计算机技术在冲压模具设计中的应用.pdf
  7. 高职单招数学公式大全,高职单招数学重点公式
  8. ico的使用和工具和生成
  9. 前脚我的 GPT4 被封,后脚收到了文心一言的邀请账号
  10. 用微信小程序开店之七——小程序组件3:“表单”(1)