zoukankan      html  css  js  c++  java
  • 双端队列

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 const int M = 1e6 + 10 , inf = 0x3f3f3f3f ;
     4 int s ;
     5 int n , k ;
     6 int a[M] ;
     7 int b[M] , tot ;
     8 void solve () {
     9     deque<int> q ;
    10     deque<int>::iterator it ;
    11     for (int i = 0 ; i < k ; i ++) {
    12         if (q.empty ()) q.push_back (i);
    13         else {
    14             it = q.end () - 1 ;
    15             while (*it >= a[i] && !q.empty ()) {
    16                 q.pop_back () ;
    17                 it -- ;
    18             }
    19             q.push_back (i) ;
    20         }
    21     }
    22     b[tot++] = q.front () ;
    23     if (q.front () == 0) q.pop_front () ;
    24     for (int i = k ; i < n ; i ++) {
    25         if (q.empty ()) q.push_back (i) ;
    26         else {
    27             it = q.end () - 1 ;
    28             while (*it >= a[i] && !q.empty ()) {
    29                 q.pop_back () ;
    30                 it -- ;
    31             }
    32             q.push_back (i) ;
    33         }
    34         b[tot++] = q.front () ;
    35         if (q.front () == i-k+1) q.pop_front () ;
    36     }
    37     for (int i = 0 ; i < tot ; i ++) {
    38         printf ("%d " , a[b[i]]) ;
    39     } puts ("") ;
    40 }
    41 
    42 int main () {
    43     cin >> n >> k ;
    44     for (int i = 0 ; i < n ; i ++) cin >> a[i] ;
    45     solve () ;
    46     return 0 ;
    47 }
    View Code
  • 相关阅读:
    文件上传.py
    文件下载.py
    Visual SVN IIS反向代理设置
    开发者工具
    Linux
    装饰器
    面向对象
    django异常--数据库同步
    浅谈 Mysql
    python网络编程系列
  • 原文地址:https://www.cnblogs.com/get-an-AC-everyday/p/4667149.html
Copyright © 2011-2022 走看看