【POJ2752】Seek the Name, Seek the Fame(KMP)
2017-03-26 08:54
309 查看
题目:
我是超链接
题解:
失配等于本身的后缀,而且失配的失配一定是原式的后缀
代码:
#include <cstdio>
#include <cstring>
using namespace std;
int t[400005],l,ans[400005],tot=0;char st[400005];
void sp()
{
int i,j;
t[0]=-1;
l=strlen(st);
for (i=0;i<l;i++)
{
j=t[i];
while (j!=-1 && st[i]!=st[j]) j=t[j];
t[i+1]=++j;
}
}
int main()
{
while (gets(st))
{
sp();
int j=l,i;
memset(ans,0,sizeof(ans));
tot=0;
while (j!=-1)
{
ans[++tot]=j;
j=t[j];
}
for (i=tot-1;i>=1;i--)
printf("%d ",ans[i]);
printf("\n");
}
}
我是超链接
题解:
失配等于本身的后缀,而且失配的失配一定是原式的后缀
代码:
#include <cstdio>
#include <cstring>
using namespace std;
int t[400005],l,ans[400005],tot=0;char st[400005];
void sp()
{
int i,j;
t[0]=-1;
l=strlen(st);
for (i=0;i<l;i++)
{
j=t[i];
while (j!=-1 && st[i]!=st[j]) j=t[j];
t[i+1]=++j;
}
}
int main()
{
while (gets(st))
{
sp();
int j=l,i;
memset(ans,0,sizeof(ans));
tot=0;
while (j!=-1)
{
ans[++tot]=j;
j=t[j];
}
for (i=tot-1;i>=1;i--)
printf("%d ",ans[i]);
printf("\n");
}
}
相关文章推荐
- POJ2752 Seek the Name, Seek the Fame 【KMP】
- [poj2752]Seek the Name, Seek the Fame(KMP)
- 【poj2752】Seek the Name, Seek the Fame kmp
- 【POJ2752】Seek the Name, Seek the Fame-KMP思想
- POJ2752 Seek the Name, Seek the Fame 【KMP】
- 【poj2752】Seek the Name, Seek the Fame KMP
- POJ2752 Seek the Name, Seek the Fame(kmp)
- Seek the Name, Seek the Fame---poj2752(kmp中的Next数组)
- [poj2752]Seek the Name, Seek the Fame_KMP
- 【KMP】POJ2752 Seek the Name, Seek the Fame
- poj2752 Seek the Name, Seek the Fame(kmp)
- 【POJ2752】【KMP】Seek the Name, Seek the Fame
- POJ 2752 Seek the Name, Seek the Fame(kmp数组)
- POJ-2752-Seek the Name, Seek the Fame(KMPnext数组应用)
- poj 2752 Seek the Name, Seek the Fame,KMP
- kmp杂题3 poj2752 Seek the Name, Seek the Fame
- poj2752 Seek the Name, Seek the Fame
- poj 2752 Seek the Name, Seek the Fame(KMP应用)
- POJ 2752 Seek the Name, Seek the Fame(KMP)
- poj2752 Seek the Name, Seek the Fame(next数组的运用)