poj2752 求一个串所有的前后缀
来源:互联网 发布:dosbox0.74如何编程 编辑:程序博客网 时间:2024/05/17 04:42
题意:给定一个串,求出该串的所有前后缀的长度(包括该串本身)。
/*感觉这道题就是求next数组的逆过程,但首先还是要求一遍next数组,得到最后一个元素的next值,然后再从最后一个元素开始根据next值往前推,直到next值等于0为止*/#include<stdio.h>#define N 400010char s[N];int next[N],len;void getnext(){ int i,j; next[0]=0; for(i=1,j=0;s[i];i++) { while(j>0&&s[i]!=s[j]) j=next[j-1]; if(s[i]==s[j]) j++; next[i]=j; } len=i;}void show(int i)//递归输出结果{ if(next[i]==0) return; show(next[i]-1); printf("%d ",next[i]);}int main(){ while(~scanf("%s",s)) { getnext(); show(len-1); printf("%d\n",len); } return 0;}
- poj2752 求一个串所有的前后缀
- POJ2752 既是前缀又是后缀的子串
- POJ 2752 -kmp求所有公共前后缀长度
- POJ2752 Seek the Name, Seek the Fame 【既是前缀又是后缀的子串】
- poj 2752 找到所有的公共前后缀
- 后缀自动机 重复旋律 7 求所有不同的子串的值的总和
- poj2752 Seek the Name, Seek the Fame(KMP前后缀相同)
- POJ2752 Seek the Name, Seek the Fame(前后缀最大匹配,kmp)
- 后缀自动机 重复旋律 5(求所有本质不同的子串)
- [ 数据结构 ] 串应用- 计算一个串的最长的真前后缀
- [递归] 求一个字符串的所有顺序子串
- 求一数组前k大的所有数
- 批量修改一个文件夹下所有的文件后缀
- 将一个文件夹下的所有文件后缀改成.txt
- C++:求一个整数的所有因子
- 求一个集合的所有子集
- 求一个集合的所有子集
- 求一个数组元素的所有排列组合
- Android UI控件之ToggleButton、Switch
- Epoll介绍和程序实例
- void及void指针含义的深刻解析
- 续第二次作业
- java小问题
- poj2752 求一个串所有的前后缀
- js判断字符串是一个字符串数组中的元素
- Bootm(cmd_bootm.c)详解
- 可视化文件消息收发一体化Socket实现V0.1
- 程序员装逼速成手册
- C# 窗体位置 Show和ShowDialog
- 这些,你知道吗?
- 数据库技术-Java连接MySQL
- Linux 安装最新版本的 texlive-full