UVA - 11572 Unique Snowflakes
Posted 一入OI深似海
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UVA - 11572 Unique Snowflakes相关的知识,希望对你有一定的参考价值。
/* STLsort离散化==T 手工sort离散化==T map在线==T map离线处理c==A 240ms */ #include<cstdio> #include<map> #define maxn 1000010 using namespace std; int T,n,c[maxn],a[maxn],ans,s,t,num; map<int,int>p; int init(){ int x=0,f=1;char s=getchar(); while(s<‘0‘||s>‘9‘){if(s==‘-‘)f=-1;s=getchar();} while(s>=‘0‘&&s<=‘9‘){x=x*10+s-‘0‘;s=getchar();} return x*f; } int main() { T=init(); while(T--){ n=init();s=1;ans=num=0;p.clear(); for(int i=1;i<=n;i++){ a[i]=init(); if(p[a[i]]==0){ p[a[i]]=i;c[i]=0; } else { c[i]=p[a[i]];p[a[i]]=i; } } while(1){ for(t=s;t<=n;t++){ if(c[t]>=s){ s=c[t]+1;c[t]=0;break; } ans=max(ans,t-s+1); } if(t>=n)break; } printf("%d\n",ans); } return 0; }
以上是关于UVA - 11572 Unique Snowflakes的主要内容,如果未能解决你的问题,请参考以下文章
(白书训练计划)UVa 11572 Unique Snowflakes(窗体滑动法)
Uva11572-Unique Snowflakes(滑动窗口)