序列自动机
酷酷的Herio
这个作者很懒,什么都没留下…
展开
-
LC.392. 判断子序列(序列自动机)
LC.392. 判断子序列(序列自动机) 思路: 1.暴力 时间复杂度:O(lentlen_tlent) ,显然对于一个模式串,暴力的复杂度是很优的。 class Solution { public: bool isSubsequence(string s, string t) { int len=0; for(int i=0;i<t.size();i++) if(t[i]==s[len]) len++; retu原创 2020-07-27 09:26:18 · 327 阅读 · 0 评论 -
序列自动机(Se AM)的总结
序列自动机的总结 听起来很高大上,实际上代码简单的不行。 刚刚学,整理一下原理和应用。 原理:用一个数组next[i][j]next[i][j]next[i][j]维护第iii位 (从下标111开始) 字符后 (也就是从第i+1i+1i+1位开始) 离第iii位最近的字符为ch=′a′+jch='a'+jch=′a′+j的位置。 可能数组定义有点复杂,举个例子就明白了。 string:abcdastring:abcdastring:abcda 对于第一个字符aaa: nt[1][1]=5nt[1][1]=5原创 2020-07-06 18:31:37 · 649 阅读 · 0 评论