11572 - Unique Snowflakes
2015-05-14 19:11
399 查看
紫书上将这道题的方法成为“滑动窗口” ,它还应该有另一个名字叫——取尺法, 用两个首尾“指针”通过不断更新它们来逐步得到最优解,适合于解决连续序列的问题。
#include<bits/stdc++.h> using namespace std; const int maxn = 1000000+5; int T,n,A[maxn]; int main(){ scanf("%d",&T); while(T--){ scanf("%d",&n); for(int i=0;i<n;i++) scanf("%d",&A[i]); set<int> s; int L = 0,R = 0,ans = 0; while(R<n) { while(R<n&&!s.count(A[R])) s.insert(A[R++]); ans = max(ans,R-L); s.erase(A[L++]); } printf("%d\n",ans); } return 0; }
相关文章推荐
- uva 11572 unique snowflakes——yhx
- UVA - 11572 Unique Snowflakes(唯一的雪花) : 滑动窗口
- [容易] UVa OJ 11572 Unique Snowflakes 滑动窗口
- Uva - 11572 - Unique Snowflakes
- uva 11572 Unique Snowflakes
- uva 11572 - Unique Snowflakes
- UVA 11572(p239)----Unique snowflakes
- uva 11572 unique snowflakes——yhx
- Uva11572 Unique Snowflakes【滑动窗口】【例题8-7】
- 【例题 8-7 UVA - 11572】Unique Snowflakes
- UVA - 11572 Unique Snowflakes 滑动窗口
- 【高效算法设计——滑动窗口】UVa 11572 Unique Snowflakes
- Uva - 11572 - Unique Snowflakes
- UVA-11572 Unique Snowflakes(滑动窗口)
- uva 11572 unique snowflakes——yhx
- UVA 11572 Unique Snowflakes (滑动窗口)
- UVA-11572-Unique snowflakes
- UVa 11572 - Unique Snowflakes
- UVa 11572 - Unique Snowflakes (好题)
- 11572 - Unique Snowflakes