标签:des style blog http color os io ar strong
Time Limit: 2000MS | Memory Limit: 65536K | |
Description
Input
Output
Sample Input
ababcababababcabab aaaaa
Sample Output
2 4 9 18 1 2 3 4 5
Source
1 #include<set> 2 #include<queue> 3 #include<cstdio> 4 #include<cstdlib> 5 #include<cstring> 6 #include<iostream> 7 #include<algorithm> 8 using namespace std; 9 const int N = 400010; 10 #define For(i,n) for(int i=1;i<=n;i++) 11 #define Rep(i,l,r) for(int i=l;i<=r;i++) 12 #define Down(i,r,l) for(int i=r;i>=l;i--) 13 14 char s[N]; 15 int next[N],n,ans[N]; 16 17 void BuildNext(char s[]){ 18 next[0]=next[1]=0; 19 For(i,n-1){ 20 int j=next[i]; 21 while(j&&s[i]!=s[j]) j=next[j]; 22 if(s[i]==s[j]) next[i+1]=j+1; 23 else next[i+1]=0; 24 } 25 } 26 27 int main(){ 28 while(scanf("%s",&s)!=EOF){ 29 n=strlen(s);BuildNext(s); 30 int p=next[n];ans[ans[0]=1,1]=n; 31 while(p){ 32 ans[++ans[0]]=p; 33 p=next[p]; 34 } 35 Down(i,ans[0],2) printf("%d ",ans[i]);printf("%d\n",ans[1]); 36 } 37 return 0; 38 }
POJ2752 (Seek the Name, Seek the Fame,kmp)
标签:des style blog http color os io ar strong
原文地址:http://www.cnblogs.com/kjerome/p/3956837.html