zoukankan      html  css  js  c++  java
  • P3572 [POI2014]PTA-Little Bird

     常规单调队列,然而我还是写的容易出锅,单调队列好难==


    #include<bits/stdc++.h>
    using namespace std;
    int n,m,num[1001000],k,l,r,f[1001000],que[1001000];
    int main()
    {
        cin>>n;
        for(int i=1;i<=n;i++)cin>>num[i];cin>>m;
        while(m--)
        {
            cin>>k;
            que[l=r=1]=1;
            for(int i=2;i<=n;i++)
            {
            while(l<=r&&i-k>que[l])l++;
            f[i]=f[que[l]]+(num[i]>=num[que[l]]);    
            while((l<=r)&&((f[que[r]]>f[i])||((f[que[r]]==f[i])&&(num[que[r]]<=num[i]))))--r;
            que[++r]=i;
            }
            cout<<f[n]<<endl;
        }
    }
  • 相关阅读:
    毕业论文格式
    2018.12.14
    关于百度搜索引擎的优缺点
    2018.12.13
    2018.12.12
    2018.12.11
    2108.12.10
    2018.12.9
    2018.12.8
    2018.12.7
  • 原文地址:https://www.cnblogs.com/SFWR-YOU/p/11673858.html
Copyright © 2011-2022 走看看