題意:
求兩個串的最大連續子串
乙個串建sam,另乙個串在上面跑
注意如果走了suffix link,sum需要更新為t[u].val+1
suffix link有點像失配吧,當前狀態s走不了了就到suffix link指向的狀態fa上去,fa是s的字尾所以是可行的,並且有更多走的機會
#include #include#include
#include
using
namespace
std;
const
int n=25e4+5
;int
n,m;
char
a[n],b[n];
struct
state
}t[n
<<1
];int
sz,root,last;
inline
int nw(int _)
void inisam()
void extend(int
c) }
last=np;
}int
ans;
void
solve()
//printf("u %d %d\n",u,sum);
} printf("%d
",ans);
}int
main()
SPOJ 1811 LCS 字尾自動機
題意 求兩個串的最大連續子串 乙個串建sam,另乙個串在上面跑 注意如果走了suffix link,sum需要更新為t u val 1 suffix link有點像失配吧,當前狀態s走不了了就到suffix link指向的狀態fa上去,fa是s的字尾所以是可行的,並且有更多走的機會 include ...
SPOJ1811 字尾自動機入門
題目鏈結 點我點我 題目描述 求兩個字串的最長公共子串的長度,字串長度小於等於5 105輸入格式 兩行即兩個字串 輸出格式 乙個整數,表示兩個字串的最長公共子串的長度 思路 字尾自動機裸題,入門的乙個好的講解 傳送門 感想 還是有一些地方不是很理解,特別是匹配的時候有點亂 關於step的問題 還有乙...
SPOJ1812 LCS2 字尾自動機
並沒有什麼想說的,但是要保持格式 w spoj lcs2傳送門 給出n個字串 n不超過10,每個串長不超過100000 求出這n個字串的最長公共子串 tip 子串是連續的,子串行是不連續的 輸入格式 一共n行,每行包含乙個字串 輸出格式 輸出一行乙個整數,表示最長公共子串 這是一道字尾自動姬的基礎應...