zoukankan      html  css  js  c++  java
  • wenbao与尺取法

    
    
     1 void worm_solve(){
     2     int res=MAX;
     3     int s=0,t=0,sum=0;
     4     for(;;){
     5         while(t<n && sum < S){
     6             sum+=a[t++];
     7         }
     8         if(sum<S) break;
     9         res=min(res,t-s);
    10         sum-=a[s++];
    11     }
    12     if(res>n){
    13         res=0;
    14     }
    15     printf("%d
    ",res);
    16 }
     1 #include <iostream>
     2 #include <set>
     3 #include <map>
     4 #include <stdio.h>
     5 using namespace std;
     6 
     7 const int maxn = 1e6+10;
     8 set<int> s;
     9 map<int ,int >m;
    10 int a[maxn],n;
    11 
    12 int main(){
    13     scanf("%d",&n );
    14     for(int i=0;i<n;i++){
    15         scanf("%d", &a[i]);
    16         s.insert(a[i]);
    17     }
    18     int len = s.size();
    19     int l=0,r=0,num=0,sum=0,mi=maxn;
    20     while(l<=r&&l<n){
    21         while(num<len&&r<n){
    22             m[a[r]]++;
    23             if(m[a[r]]==1) num++;
    24             r++;
    25         }
    26         if(num==len){
    27             mi=min(mi,r-l);
    28         }
    29         if(m[a[l]]==1) num--;
    30         m[a[l]]--;
    31         l++;
    32     }
    33     printf("%d
    ",mi );
    34     return 0;
    35 }
    
    

    只有不断学习才能进步!

  • 相关阅读:
    查找整数
    寒假作业3
    寒假作业2
    寒假作业1
    秋季学期总结
    对自己影响最深的三位老师
    自我介绍
    jquery学习笔记
    素材网站
    转:vim模式下报错E37: No write since last change (add ! to override)
  • 原文地址:https://www.cnblogs.com/wenbao/p/5727488.html
Copyright © 2011-2022 走看看