POJ 2018

又一水,设dp[i]为以i结尾的有最大平均值的起始位置。

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <climits>
#include <string.h>
#include <queue>
#include <cmath>
#include <vector>
using namespace std;
int cow[100010];
int dp[100010];

int n,f;

int main(){
	while(scanf("%d%d",&n,&f)!=EOF){
		cow[0]=0;
		for(int i=1;i<=n;i++){
			scanf("%d",&cow[i]);
			cow[i]+=cow[i-1];
		}
		dp[f]=1;
		int pos=f;
		double ans1,ans2,ans3;
		for(int i=f+1;i<=n;i++){
			ans1=(cow[i]-cow[dp[i-1]-1])*1.0/(i-dp[i-1]+1);
			ans2=(cow[i]-cow[i-f])*1.0/(f);
			if(ans1>ans2){
				dp[i]=dp[i-1];
			}
			else dp[i]=i-f+1;
			ans3=(cow[pos]-cow[dp[pos]-1])*1.0/(pos-dp[pos]+1);
			ans1=(cow[i]-cow[dp[i]-1])*1.0/(i-dp[i]+1);
			if(ans1>ans3)
			pos=i;
		}
		printf("%d\n",int((cow[pos]-cow[dp[pos]-1])*1000.0/(pos-dp[pos]+1)));
	}
	return 0;
}

  

时间: 2024-11-06 06:30:40

POJ 2018的相关文章

POJ 2018 Best Cow Fences

斜率优化DP...<浅谈数形结合思想在信息学竞赛中的应用 安徽省芜湖一中 周源>例题... Best Cow Fences Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 9311   Accepted: 2986 Description Farmer John's farm consists of a long row of N (1 <= N <= 100,000)fields. Each field c

POJ 2018 Best Cow Fences(二分答案)

POJ 2018 Best Cow Fences(二分答案) Best Cow Fences Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 12144 Accepted: 3958 Description Farmer John's farm consists of a long row of N (1 <= N <= >100,000)fields. Each field contains a certain nu

G - Best Cow Fences (POJ - 2018)

- 题目大意 给你n个牛的自身价值,让你找出连续的且数量大于等于F的一段区间,使这段区间内的牛的平均价值最大. - 解题思路 这道题可以用二分法也可以结合前缀数组来求和来做,我就是用前缀数组求和和二分答案法来做的. - 代码 #include <iostream> #include <algorithm> using namespace std; const int maxn = 1e5 + 10; int sum[maxn]; int main() { int n, f, a;

Best Cow Fences POJ - 2018

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 nu

POJ 2018 Best Cow Fences(二分最大区间平均数)题解

题意:给出长度>=f的最大连续区间平均数 思路:二分这个平均数,然后O(n)判断是否可行,再调整l,r.判断方法是,先求出每个数对这个平均数的贡献,再求出长度>=f的最大贡献的区间,如果这个最大贡献大于0说明这个二分出来的数可行. 代码: #include<set> #include<map> #include<stack> #include<cmath> #include<queue> #include<vector>

如何将C/C++程序转译成Delphi(十四)

众所周知,数据科学是这几年才火起来的概念,而应运而生的数据科学家(data scientist)明显缺乏清晰的录取标准和工作内容.此次课程以<星际争霸II>回放文件分析为例,集中在IBM Cloud相关数据分析服务的应用.面对星际游戏爱好者希望提升技能的要求,我们使用IBM Data Science Experience中的jJupyter Notebooks来实现数据的可视化以及对数据进行深度分析,并最终存储到IBM Cloudant中.这是个介绍+动手实践的教程,参会者不仅将和讲师一起在线

世界著名设计小组nrg推荐的75个FLASH酷站

众所周知,数据科学是这几年才火起来的概念,而应运而生的数据科学家(data scientist)明显缺乏清晰的录取标准和工作内容.此次课程以<星际争霸II>回放文件分析为例,集中在IBM Cloud相关数据分析服务的应用.面对星际游戏爱好者希望提升技能的要求,我们使用IBM Data Science Experience中的jJupyter Notebooks来实现数据的可视化以及对数据进行深度分析,并最终存储到IBM Cloudant中.这是个介绍+动手实践的教程,参会者不仅将和讲师一起在线

铺揭竟冒剐惹蒲掷咕堑接veld

IEEE Spectrum 杂志发布了一年一度的编程语言排行榜,这也是他们发布的第四届编程语言 Top 榜. 据介绍,IEEE Spectrum 的排序是来自 10 个重要线上数据源的综合,例如 Stack Overflow.Twitter.Reddit.IEEE Xplore.GitHub.CareerBuilder 等,对 48 种语言进行排行. 与其他排行榜不同的是,IEEE Spectrum 可以让读者自己选择参数组合时的权重,得到不同的排序结果.考虑到典型的 Spectrum 读者需求

支酸权我据好张近拉其深就率sJFlzqgrA

社保划到税务征收,将大大提升社保费的征管效率.税务的征管能力是目前而言最强的,以后税务征收社保不是代收,属于本职了. 之前税局要把社保信息和交个税的工资比对起来有困难!现在好了,个税是自己的,社保也是自己的,比对困难?不存在的! 这一变革,会给那些不给员工上社保.不全额上社保的企业致命一击! 最新案例 前段时间的发改委关于限制特定严重失信人乘坐民航的一则意见--发改财金[2018]385号,其中还有税务总局的联合署名. http://weibo.com/20180408PP/2309279811