zoukankan      html  css  js  c++  java
  • SYZOJ 最大平均数子数组

    参考论文《周源--浅谈数形结合思想在信息学竞赛中的应用》

     1 #include<cstdio>
     2 #include<cstring>
     3 #include<algorithm>
     4 #include<iostream>
     5 #include<cmath>
     6 #include<ctime>
     7 #include<cctype>
     8 using namespace std;
     9 const int MAXN=100000+10;
    10 inline int get_num(){
    11     int res=0,f=1;char ch=getchar();
    12     while(!isdigit(ch)){if(ch == '-') f=-1;ch=getchar();}
    13     while(isdigit(ch)){
    14         res=(res<<1)+(res<<3)+(ch^0x30);
    15         ch=getchar();
    16     }
    17     return res*f;
    18 }
    19 int N,k;
    20 int sum[MAXN];
    21 int que[MAXN];
    22 double getk(int l,int r){
    23     return (sum[r]-sum[l-1])*1.0/(r-l+1);
    24 }
    25 
    26 int main(){
    27     scanf("%d %d",&N,&k);
    28     for(int i=1;i<=N;i++){
    29         sum[i]=sum[i-1]+get_num();    
    30     }
    31     double res=-1e15;
    32     int hd=1,tl=0;
    33     for(int i=k;i<=N;i++){
    34         while(hd <= tl && que[hd] > i-k) hd++;
    35         while(hd <= tl && getk(que[tl],i) < getk(i-k+1,i)) tl--;
    36         que[++tl]=i-k+1;
    37         res=max(res,getk(que[hd],i));
    38     }
    39     printf("%d
    ",(int)(res*1000));
    40     return(0);
    41 }
  • 相关阅读:
    PHP thinkPHP6.0 部署
    ch09 Sql导入语句
    自定义map 搜索
    MySql 语句
    自定义Mappter
    三袋米的故事
    WPF中实现文件夹对话框(OpenFileDialog in WPF)
    web通过Ajax与WCF交互
    项目管理之我见-程序员程序开发步骤
    存储过程
  • 原文地址:https://www.cnblogs.com/KCkowk/p/6489165.html
Copyright © 2011-2022 走看看