【kmp算法next数组求解公共前后缀】Seek the Name, Seek the Fame POJ - 2752

该博客介绍了如何运用KMP算法的next数组来寻找字符串的公共前后缀。题目要求输入字符串s,并找出所有既是s的前缀也是后缀的子串长度。next数组用于确定字符串中匹配的连续字符数。解题思路包括计算next数组并递归输出符合条件的子串长度。
摘要由CSDN通过智能技术生成

Think:
1知识点:通过kmp算法next数组求解公共前后缀
2题意:输入串s,输出所有的符合条件的子串的长度,符合条件:子串既是s的前缀又是s的后缀
3解题知识点:
(1):前缀定义:从s的开始字符到s的任意字符为止
(2):后缀定义:从s的任意字符到s的最后字符为止
(3):next[i]定义:字符s[i]及其前面至多有next[i]个连续的字符和字符串s从初始位置开始的next[i]个字符匹配
4解题思路:
求解next数组,然后递归输出路径,注意len_P需要单独输出

vjudge题目链接

建议参考博客——参考题意理解

以下为Accepted代码

#include <cstdio>
#include <cstring>
#include <algorithm>

using namespace 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值