//紫书P247//UVA12174Shuffle//Serene#include<algorithm>#include<iostream>#include<cstring>#include<cstdlib>#include<cstdio>#include<cmath>using namespace std;const int maxn=100000+10;int T,s,n,a[maxn],visnum[maxn],l=0;bool visans[maxn];int aa;char c;int read() { aa=0;c=getchar(); while(c<'0'||c>'9') c=getchar(); while(c>='0'&&c<='9') aa=aa*10+c-'0',c=getchar(); return aa;}int main() { T=read();int ans,now=0; while(T--) { memset(visnum,0,sizeof(visnum)); memset(visans,0,sizeof(visans)); s=read();n=read();ans=s;now=0;l=0; for(int i=1;i<=n+s-1;++i) { if(i-l>s) { visnum[a[++l]]--; if(visnum[a[l]]==1) now--; } if(i<=n){ a[i]=read(); visnum[a[i]]++; if(visnum[a[i]]==2) now++; } if(now&&!visans[l%s]) { visans[l%s]=1;ans--; } if(now&&!visans[i%s]){ visans[i%s]=1;ans--; } } cout<<ans<<"/n"; } return 0;}
新闻热点
疑难解答