cf D. Sereja ans Anagrams
2014-09-09 10:38
351 查看
http://codeforces.com/contest/368/problem/D
View Code
#include <cstdio> #include <cstring> #include <map> #include <vector> #include <algorithm> #define maxn 300000 #define LL long long using namespace std; int n,m,p; LL a[maxn],b[maxn]; vector<int>g; int main() { while(scanf("%d%d%d",&n,&m,&p)!=EOF) { for(int i=0; i<n; i++) { scanf("%lld",&a[i]); } for(int i=0; i<m; i++) { scanf("%lld",&b[i]); } for(int i=0; i<p&&i+(LL)(m-1)*p<n; i++) { map<int,int>q; for(int j=0; j<m; j++) { q[b[j]]++; } int c=i; for(int j=0; j<m; j++) { q[a[c]]--; if(q[a[c]]==0) { q.erase(a[c]); } c+=p; } for(int j=i; ; j+=p,c+=p) { if(!q.size()) g.push_back(j+1); if(c>=n) break; if(--q[a[c]]==0) q.erase(a[c]); if(++q[a[j]]==0) q.erase(a[j]); } } sort(g.begin(),g.end()); printf("%d\n",g.size()); for(int i=0; i<(int)g.size(); i++) { printf("%d ",g[i]); } printf("\n"); } return 0; }
View Code
相关文章推荐
- cf-Round #215 (Div. 1) -B - Sereja ans Anagrams
- codeforces 367B Sereja ans Anagrams
- Sereja ans Anagrams(map)
- CodeForces 367B. Sereja ans Anagrams
- 解题报告:CodeForces 367B Sereja ans Anagrams
- B. Sereja ans Anagrams----map维护queue
- CodeForces - 367B Sereja ans Anagrams
- CodeForces - 367B Sereja ans Anagrams(队列+map)
- Codeforces--367D--D. Sereja ans Anagrams(STL)(模拟)
- CodeForces - 367B Sereja ans Anagrams (map)
- CodeForces 367B Sereja ans Anagrams (map)
- Codeforces Round #215 (Div. 2) D. Sereja ans Anagrams
- Codeforces Round #215 (Div. 2) D.Sereja ans Anagrams(巧用stl+利用之前数据的思想)
- CodeForces 367B. Sereja ans Anagrams(经典STL)
- Sereja ans Anagrams
- Codeforces Round #215 (Div. 2) D. Sereja ans Anagrams
- Codeforces 367B - Sereja ans Anagrams(map)
- Codeforces 367B Sereja ans Anagrams 【map维护queue】
- Codeforces Round #215_div2_D. Sereja ans Anagrams
- Sereja ans Anagrams CodeForces - 367B (queue + map)