uva 11572 ——Unique Snowflakes
生活随笔
收集整理的這篇文章主要介紹了
uva 11572 ——Unique Snowflakes
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題意:給定一個序列,然后在這個序列找到一個連續的串,使得串中沒有重復的元素。
思路:單調隊列。每次都把該在序列沒出現的數加入到序列中,然后向后掃描找到最大的ans。
code:
//#incllude <bits/stdc++.h> //#include<bits/stdc++.h> #include <cstdio> #include <set> using namespace std;const int N=1000005; int v[N];int main() {int T,n;scanf("%d",&T);while (T--){scanf("%d",&n);for (int i=0;i<n;i++) scanf("%d",&v[i]);set<int>s;int l=0,r=0,ans=0;while(l<n){while (r<n&&!s.count(v[r])) s.insert(v[r++]);ans=max(ans,r-l);s.erase(v[l++]);}printf("%d\n",ans);} }總結
以上是生活随笔為你收集整理的uva 11572 ——Unique Snowflakes的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 老爸的私房菜剧情介绍
- 下一篇: 非亲姐妹剧情介绍