[BZOJ4310] 跳蚤 SAM || SA

没有代码的。

传送门

先二分出第 (mid) 大的字串 (s),然后从后往前切割,每次大于 (s) 了就不行。

涉及到的操作:求第 (mid) 大子串;比较两个字串(求 (lcp))。

SAM:(mid) 大子串随便求。求 (lcp)

  • 二分+字符串哈希?莫名其妙多个 (log),而且字符串哈希以前没实现过啊QAQ
  • 再建一个反串SAM在parent树上求LCA?太麻烦了吧。。而且用RMQ (O(1)) 求LCA也没实现过啊QAQ

SA:感觉挺好的,求第 (mid) 大字串是模板,(lcp) 的话 (height) 数组求个RMQ就行了。但我没实现过啊????

后缀三姐妹都可以搞,但我啥都搞不出来??
自闭了,我可活个什么劲儿,感觉随便写哪个都是调半天的节奏。。我还是继续当我的嘴巴口胡选手吧。。。

代码能力确实需要锻炼,没实现过的也要去实现一下。但现在还是先咕咕咕吧(大雾
(喂你怎么这么颓废!!)

原文地址:https://www.cnblogs.com/ymzqwq/p/11250285.html