后缀自动机伪代码

p=0

extend(c)
{
	new np;
	np.max=++L;
	for (i=p;trans[i][c]==null&&i!=null;i=parent[i])
	 trans[i][c]=np;
	if (i==null)
	   trans[np]=root
    else 
      q=i.trans[c]
    if (q.max==i.max+1)
       np.parent=q;
    else new nq
         nq.trans[]=q.trans[]
         nq.parent=q.parent
         q.parent=np.parent=nq
         nq.max=i.max+1
         for (;i.trans[c]==q;i=i.parent)
             i.trans[c]=nq
    p=np
}
全部评论

相关推荐

06-17 21:57
门头沟学院 Java
白友:噗嗤,我发现有些人事就爱发这些,明明已读不回就行了,就是要恶心人
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-27 14:11
很喜欢小米的新车,校招薪资每月22k,攒多久能买?
测试糕手手:别看工资,先看现金流存款。有50W存款以上再考虑,车是消耗品,选适合自己的重要。你有钱就当我没说过
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务