hdu 2993 MAX Average Problem(斜率DP入门题)
题目链接:hdu 2993 MAX Average Problem
题意:
给一个长度为 n 的序列,找出长度 >= k 的平均值最大的连续子序列。
题解:
这题是论文的原题,请参照2004集训队论文《周源--浅谈数形结合思想在信息学竞赛中的应用》
这题输入有点大,要加读入优化才能过。
#include<bits/stdc++.h>
#define F(i,a,b) for(int i=a;i<=b;++i)
using namespace std; int tot;
const int BUF=;
char Buf[BUF],*buf=Buf;
inline void read(int&a){for(a=;*buf<;buf++);while(*buf>)a=a*+*buf++-;} const int N=1e5+;
int sum[N],Q[N],n,k; inline int useless(int a,int b,int c)
{
return 1ll*(sum[c]-sum[b])*(b-a)<=1ll*(sum[b]-sum[a])*(c-b);
} int main()
{
tot=fread(Buf,,BUF,stdin);
while()
{
if(buf-Buf+>=tot)break;
read(n),read(k);
F(i,,n)read(sum[i]),sum[i]+=sum[i-];
int head=,tail=;
double ans=;
F(i,k,n)
{
while(head<tail&&useless(Q[tail-],Q[tail],i-k))tail--;
Q[++tail]=i-k;
while(head<tail&&useless(Q[head+],Q[head],i))head++;
ans=max(ans,(sum[i]-sum[Q[head]])*1.0/(i-Q[head]));
}
printf("%.2f\n",ans);
}
return ;
}
hdu 2993 MAX Average Problem(斜率DP入门题)的更多相关文章
- HDU 2993 - MAX Average Problem - [斜率DP]
		
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2993 Consider a simple sequence which only contains p ...
 - HDU 2993 MAX Average Problem(斜率DP经典+输入输出外挂)
		
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2993 题目大意:给出n,k,给定一个长度为n的序列,从其中找连续的长度大于等于k的子序列使得子序列中的 ...
 - HDU 2993 MAX Average Problem dp斜率优化
		
MAX Average Problem Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Othe ...
 - 数据结构:HDU 2993 MAX Average Problem
		
MAX Average Problem Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Othe ...
 - HDU 2993 MAX Average Problem(斜率优化DP)
		
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2993 题目大意:给定一个长度为n(最长为10^5)的正整数序列,求出连续的最短为k的子序列平均值的最大 ...
 - HDU 2993 MAX Average Problem(斜率优化)
		
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2993 Problem Description Consider a simple sequence w ...
 - HDU 2089 不要62【数位DP入门题】
		
不要62 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
 - MAX Average Problem(斜率优化dp)
		
MAX Average Problem Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Othe ...
 - BNUOJ 3958 MAX Average Problem
		
MAX Average Problem Time Limit: 3000ms Memory Limit: 65536KB 64-bit integer IO format: %lld Jav ...
 
随机推荐
- C# WinForm 类似QQ靠近屏幕边缘隐藏显示
			
当窗体离屏幕四周一定距离时,改变窗体位置,引导窗体靠边:靠边后,当鼠标离开窗体时,改变窗体位置,窗体隐藏,凸出一点在屏幕内:隐藏后,当鼠标移到窗体时,窗体显示. using System; using ...
 - noip 2016 提高组题解
			
前几天写的那个纯属搞笑.(额,好吧,其实这个也不怎么正经) 就先说说day2吧: T1:这个东西应该叫做数论吧. 然而我一看到就照着样例在纸上推了大半天(然而还是没有看出来这东西是个杨辉三角) 然后就 ...
 - Java写入文件
			
import java.io.File;import java.io.FileNotFoundException;import java.io.PrintWriter; public class Fi ...
 - HaoZip(好压) 去广告纯净版 4.4
			
软件名称: 好压 去广告纯净版 软件语言: 简体中文 授权方式: 免费软件 运行环境: Win8 / Win7 / Vista / WinXP 软件大小: 6.3MB 图片预览: 软件简介: 好压去广 ...
 - linux shell脚本学习xargs命令使用详解
			
作用是将参数列表转换成小块分段传递给其他命令,以避免参数列表过长的问题 xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具.它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处 ...
 - c++中string类型可以直接进行比较
			
以下代码在Ubuntu14.10下实现 /*------------------------- filename is demo.cpp --------------------------*/ #i ...
 - Android使用Home键后应用程序重启的问题
			
正常情况应该是在点击 home 按键后,程序在后台暂停运行,点击 后退键 才会退出应用的,但是今天遇到个问题,点击 home 键后,重新再打开应用却每次都返回应用启动页面,有些莫名其妙,一番googl ...
 - [UWP小白日记-6]页面跳转过度动画
			
前言 在学习中发现页面导航默认是没有过度动画的,直接就导航过去太粗暴了( ̄へ ̄),于是打算上动画结果不言而喻自己进了坑完全不懂动画,然后就是各种疯狂(´・_・`)的搜索资料看了后终于有点头绪. 再后来 ...
 - SAP HANA创建层次结构的属性视图(Hierarchy Attribute View)
			
在产品表中,数据是具有一定层次结构的 1. 在Content相应的package下面右键点击Attribute View,新建Attribute View 填写相关信息,注意:我们所建的依然是标准视图 ...
 - 关于masonry
			
简单的就不说了,网上很多教程 设置优先级 [label setContentCompressionResistancePriority:UILayoutPriorityRequired forAxis ...