首页
比赛
题库
课程
竞赛讨论区
登录
/
注册
去牛客
首页
>
字符串的问题
4条解析
开通博客写题解
苟且的狮子
发表于 2020-08-28 23:13:09
kmp 题意: 分析: 我们看着一题,我们仔细想想。首先如果没有要求中间 子串 的话,就很简单了。我们直接输出前后缀相等的就好了。无论是 kmp 还是 暴力 都是线性时间。 但是麻烦就在于中间要有字串。 那我们想想,如何判断中间有没有子串呢? 假设,next[n] = k 意味着s0,s1,s
展开全文
威风镰鼬
发表于 2021-08-29 10:45:18
思路 首先如果要求最大前缀的话,我们用Kmp就能线性求出来。题目要求中间也有一个和最大前缀一样的东西,久相对增加了点难度。那我们失配数组每个值出现的次数,如果最终nxt[len](即整个串的最长后缀)出现过不止一次,就可以输出答案了。但是这样写还需要考虑点细节。比如aaaa的情况,在中间出现的并不能
展开全文
狂点技能树
发表于 2021-05-11 21:14:31
题解思路:参考楼下大佬的思路:是否有和最后一个next[]相同的next值在数组中间出现,若存在最后一个next就是答案。否则,next[最后一个next]才是解(当然,特判解不存在)。 这里重点贴一下代码,其中未注释代码为从 0 开始的 next 数组求解,注释的代码则是从 1 开始的 next
展开全文
andif
发表于 2023-06-11 01:20:42
题目描述 求一个最长的子串,满足下面三个性质 子串是原串的前缀 子串是原串的后缀 除了前缀和后缀,还在其他地方出现过一次 思路 首先,这个答案子串肯定是原串的border,那么我们就把nxt[n]…nxt[nxt[n]]…nxt[…nxt[n]]nxt[n] \dots nxt[nxt[n]]
展开全文
查看本题
查看本题讨论
相关比赛
77-2018年牛客多校算法寒假训练营练习比赛(第五场)
进入比赛
6505-2018年牛客多校算法寒假训练营练习比赛(第五场)(重现赛)@vito0210
进入比赛
8979-上海理工大学(11.9)
进入比赛
21601-长沙师范模拟赛
进入比赛
23669-IEU_CLUB
进入比赛
等你来战
查看全部
2025牛客五一集训派对day2
报名截止时间:2025-05-02 17:00
2025牛客五一集训派对day3
报名截止时间:2025-05-03 17:00
2025牛客五一集训派对day4
报名截止时间:2025-05-04 17:00
2025牛客五一集训派对day5
报名截止时间:2025-05-05 17:00
牛客练习赛138
报名截止时间:2025-05-09 21:30
牛客周赛 Round 92
报名截止时间:2025-05-11 21:00
哈尔滨华德学院第十六届程序设计竞赛(同步赛)
报名截止时间:2025-05-13 20:30
牛客小白月赛116
报名截止时间:2025-05-16 21:00
牛客AI人机大战巅峰赛1
报名截止时间:2025-05-17 17:00
2025牛客暑期多校训练营1
报名截止时间:2025-07-15 17:00
扫描二维码,关注牛客
意见反馈
下载牛客APP,随时随地刷题