UVALive - 4294 Shuffle
2014-01-25 23:22
218 查看
题意: 看了快一天了,还是不太懂意思,转一篇学长的点击打开链接,
来日在研究
来日在研究
#include<cstdio> #include<cstring> #include<cstdlib> #include<algorithm> #include<string> #include<iostream> #define MAXN 101100 using namespace std; int f[MAXN],s[MAXN],a[MAXN]; int n,m; int sum; int main() { int t,i,j,k,r,w,ans; scanf("%d",&t); while(t--) { scanf("%d %d",&n,&m); for(i=1;i<=m;i++) { scanf("%d",&a[i]); } memset(f,0,sizeof(f)); memset(s,0,sizeof(s)); sum=0; for(i=1;i<=n;i++) { if(i<=m&&s[a[i]]++==0) { sum++; } if(sum!=min(i,m)) { f[i]=1; } } for(i=1;i<=m;i++) { if(--s[a[i]]==0) { sum--; } if(i+n<=m&&s[a[i+n]]++==0) { sum++; } if(sum!=min(n,m-i)) { f[(i-1)%n+1]=1; } } int ans=0; for(i=1;i<=n;i++) { if(!f[i]) { ans++; } } printf("%d\n",ans); } return 0; }
相关文章推荐
- UVALive - 4294 Shuffle 映射+取反+最大区间覆盖
- UVALive - 2197 Paint the Roads(费用流)
- UVALive 6489 Triangles LA 6489 Triangles
- 2016北京区域赛E UVAlive 7672 题目:What a Ridiculous Election 带约束条件的BFS
- UVALive 6525 Attacking rooks
- uva live 6827 Galaxy collision
- UVALIVE 6958 I 求某TSP路径长度恰为定值+meet in middle + 折半
- UVA1225 UVALive3996 Digit Counting
- UVALive 7261 Xiongnu's Land(二分)
- POJ 3342 Party at Hali-Bula / HDU 2412 / UVAlive 3794 / UVA 1220
- UVALive - 7457 Discrete Logarithm Problem 费马小定理+暴力枚举+快速幂
- uvalive 2218 半平面交
- UVALive 6680 Join the Conversation
- UVALive - 4122 Huffman Code
- UVALive 6911 F - Double Swords
- UVaLive 3487 Duopoly (最小割)
- UVALive 3938 Ray, Pass me the dishes! (动态最大连续和)
- Lexicography (UVALive 6814)
- Uvalive 7150 Amalgamated Artichokes
- 2016China Final 二分 UVALive7900(D)