hdu 2993 MAX Average Problem 斜率优化DP
来源:互联网 发布:火车票网络退票时间 编辑:程序博客网 时间:2024/06/05 06:18
详见,算法合集之《浅谈数形结合思想在信息学竞赛中的应用》。
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;double sum[100010];int q[100010];bool judge(int i,int j,int k){ // if((sum[j]-sum[i])/(j-i)>=(sum[k]-sum[i])/(k-i)) if((sum[j]-sum[i])*(k-i)-(sum[k]-sum[i])*(j-i)>=0) return true; //存在上凸点 return false;}double f(int i,int j){ return (sum[j]-sum[i])/(j-i);}inline int ReadInt(){ char ch = getchar(); int data = 0; while (ch < '0' || ch > '9') { ch = getchar(); } do { data = data*10 + ch-'0'; ch = getchar(); }while (ch >= '0' && ch <= '9'); return data;}int main(){ int n,k; double ans; while(scanf("%d%d",&n,&k)!=EOF) { sum[0]=0; for(int i=1;i<=n;i++) sum[i]=sum[i-1]+ReadInt(); int head=0,tail=0; ans=0; for(int i=k;i<=n;i++) { while(head<tail && judge(q[tail-1],q[tail],i-k)) tail--; q[++tail]=i-k; while(head<tail && f(q[head+1],i)>=f(q[head],i)) head++; ans=max(ans,f(q[head],i)); } printf("%.2lf\n",ans); } return 0;}
- HDU MAX Average Problem(斜率优化DP)
- HDU 2993 MAX Average Problem【斜率优化dp】
- hdu 2993 MAX Average Problem(DP+斜率优化入门题)
- HDU 2993 MAX Average Problem(斜率优化DP)
- hdu 2993 MAX Average Problem(DP+斜率优化)
- hdu 2993 MAX Average Problem 斜率优化DP
- hdu 2993 MAX Average Problem (斜率优化dp入门)
- hdu 2993 MAX Average Problem (dp斜率优化)
- hdu 2993 MAX Average Problem(斜率dp)
- HDU 2993 MAX Average Problem 斜率优化
- HDU 2993 MAX Average Problem (斜率优化)
- 【DP+斜率优化】 hdu2993 MAX Average Problem
- hdoj MAX Average Problem 2993 (斜率优化DP)
- hdu 2993 & POJ 2018 MAX Average Problem(斜率dp)
- hdu 2993 MAX Average Problem 动态规划 斜率优化
- HDU 2993 MAX Average Problem(斜率优化)
- HDU 2993 MAX Average Problem (斜率优化)
- dp专辑 T - MAX Average Problem [ 斜率优化]
- ContentResolver query 参数详解
- SourceInsight增加支持的文件类型
- shell script中的常用判断语句
- 在数据绑定中使用StringFormat
- 第一次
- hdu 2993 MAX Average Problem 斜率优化DP
- 新的开始之Redis的安装
- thinkphp配置
- 原码 反码 补码
- 《Python源码剖析》读书笔记
- poj1185 炮兵阵地(状态压缩)
- No HDDs with S.M.A.R.T.原因
- 解压bz2
- 《MFC游戏开发》笔记四 键盘响应和鼠标响应:让人物动起来