SP1811 LCS - Longest Common Substring
用 sam 进行字符串匹配,建 s 的 sam,然后用 t 在 s 的 sam 上进行匹配,匹配过程中,沿着 Next 转移往下走,如果失配,则沿着 link 链接往上跳,因为 link 链接是该节点的后缀,所以这样跳就不会有遗漏,而且均摊下来跳后缀链接的总复杂度为\(O(n)\)因此不会超时。
CAD加油!欢迎跟我一起讨论学习算法
SP1811 LCS - Longest Common Substring
用 sam 进行字符串匹配,建 s 的 sam,然后用 t 在 s 的 sam 上进行匹配,匹配过程中,沿着 Next 转移往下走,如果失配,则沿着 link 链接往上跳,因为 link 链接是该节点的后缀,所以这样跳就不会有遗漏,而且均摊下来跳后缀链接的总复杂度为\(O(n)\)因此不会超时。
CAD加油!欢迎跟我一起讨论学习算法
DescriptionA string is finite sequence of
题目链接:传送门求LCS可不是那个dp了SAM的板子题对一个串建SAM然后匹配
Description
分析 我们可以建出s串的parent树 然后t串在上面跳着找即可 代码
编译环境:ubuntu16.04 LTSOpencv版本:opencv4.0.1+opencv4.0.1 contribute下载opencv4.0.1及contribute模块https://github.com/opencv/opencv/releases/tag/4.0.1https://github.com/opencv/opencv_contrib/releases/tag/4.0.1更
举报文章
请选择举报类型
补充说明
0/200
上传截图
格式支持JPEG/PNG/JPG,图片不超过1.9M