poj 2018 Best Cow Fences 二分查找dp
惭愧 参考bloghttp://www.cppblog.com/varg-vikernes/archive/2010/03/02/108737.aspx
#include<iostream>using namespace std;#define doit(n) for(int i=1;i<=n;i++)double a[100005],sum[100005];int n,m;double r,l;bool chack(double val){double temp;double pre=(sum[m-1])-(m-1)*val;//这里默认其实位置为1 for(int i=m;i<=n;i++){temp=(sum[i]-sum[i-m])-m*val; // 计算长度为m的和 pre+=(a[i]-val); //一段一段的往上加 pre=max(temp,pre); //这里用来更新起始位置 if(pre>-1e-6) //注意这里为负值 0的时候也想左翼 return 1;}return 0;
}int main(){while(scanf("%d%d",&n,&m)!=EOF){r=0;l=0x7FFFFFFF;memset(sum,0,sizeof(sum));doit(n){scanf("%lf",&a[i]);sum[i]=sum[i-1]+a[i];l=min(a[i],l);r=max(a[i],r);}while(r-l>1e-6){double mid=(r+l)/2;if(chack(mid)){l=mid;}elser=mid;}printf("%d\n",(int)(r*1000)); //这里选值必须选右面,要是选左面强制转换的时候会少一也就是说有可能6499 }return 0;
}
poj 2018 Best Cow Fences 二分查找dp相关推荐
- POJ - 2018 Best Cow Fences(二分+最长连续子段和)
题目链接:点击查看 题目大意:给出n个正整数,求一个平均数最大的.长度不小于L的连续子段 题目分析:因为这个题目的答案满足二分的性质,也就是若二分的平均数小于答案,则更小的平均数肯定都满足答案(因为这 ...
- POJ 2018 Best Cow Fences (二分答案构造新权值 or 斜率优化)
$ POJ~2018~Best~Cow~ Fences $(二分答案构造新权值) $ solution: $ 题目大意: 给定正整数数列 $ A $ ,求一个平均数最大的长度不小于 $ L $ 的子段 ...
- LeetCode 1182. 与目标颜色间的最短距离(二分查找/DP)
文章目录 1. 题目 2. 解题 2.1 二分查找 2.2 DP 1. 题目 给你一个数组 colors,里面有 1.2. 3 三种颜色. 我们需要在 colors 上进行一些查询操作 queries ...
- LeetCode 410. 分割数组的最大值(极小极大化 二分查找 / DP)
文章目录 1. 题目 2. 解题 2.1 二分查找 2.2 DP 1. 题目 给定一个非负整数数组和一个整数 m,你需要将这个数组分成 m 个非空的连续子数组. 设计一个算法使得这 m 个子数组各自和 ...
- POJ 1064 分割线缆(二分查找)
题目链接:http://poj.org/problem?id=1064 题目大意:多根电缆切成指定段数(每段相同长度),求每段线缆的最大长度(精确到0.01) 这题精度控制是难点,方法很简单,二分查找 ...
- POJ2018 Best Cow Fences —— 斜率优化DP
题目链接:https://vjudge.net/problem/POJ-2018 Best Cow Fences Time Limit: 1000MS Memory Limit: 30000K T ...
- poj 3189 Steady Cow Assignment(二分+最大流)
题意:N头牛(1000),B个农场(20),每个农场可以容纳一定数量的牛. 每头牛对每个农场都有一个排名(排名从1~B).每头牛都会在B个农场中的某一个,这头牛的高兴程度是它对这个农场的排名.为了使每 ...
- POJ 3258 River Hopscotch(二分查找答案)
一个不错的二分,注释在代码里 #include <stdio.h> #include <cstring> #include <algorithm> #include ...
- POJ 3122 分披萨(二分查找)
题目链接:http://poj.org/problem?id=3122 题目大意: 有 n 块披萨(大小不一样), f 个人分,包含主人自己 f+1 人: 每人吃的披萨必须是一块披萨上切下来的.每个人 ...
- 【实数二分/前缀和维护】Best Cow Fences
Poj 2018 Best Cow Fences 实数二分+前缀和维护 调了一晚上, 但发现没什么注意事项orz 无输出只因eps定义成了int型QAQ哭唧唧 #include<cstdio&g ...
最新文章
- 灰色关联投影法python_python灰色关联算法(灰度关联算法)
- 网络:窗口控制下的重发机制、流量控制
- 1.3 继承(extends)
- 【clickhouse】配置ClickHouse分布式DDL记录自动清理
- 智能化连锁门店解决方案
- 构造函数为什么不能是虚函数
- POJ 1185 炮兵阵地(状压dp)
- Nginx 自定义404 页面
- arm开发板放张图片动起来_Python与Zynq的桥梁,米尔PYNQ开发板来了
- 基于flask框架的高校舆情分析系统
- 计算机专业复试有英语口语吗,计算机考研复试英语口语技巧
- Vbs脚本编程简明教程之十五
- android加音乐歌词代码,Android简易音乐播放器实现代码
- 本地化、国际化、全球化是指什么?
- php下一页的代码,php 下一页的代码
- PDF如何转换成EPUB格式
- 【CSS】537- 认真介绍 CSS 原理
- 理解echo openssl概念、用法、常用参数
- 微信扫二维码调用外部浏览器页面
- 【Android 系统开发】 编译 Android文件系统 u-boot 内核 并烧写到 OK-6410A 开发板上