摘要:
BZOJ3998 弦论 "🔗" 给一个字符串,问其第$K$小字串是什么 两种形式 1.不同起始位置的相同串只算一次 2.不同起始位置的相同串各算一次 首先建$SAM$ 所有串的数量就是$SAM$中的从起始点开始的路径数量,所以可以先在$SAM$上$dp$出来从所有节点开始的子串数量,然后递归找就好 阅读全文
摘要:
POJ2774 Long Long Message 找两个串的 最长公共字串 对其中一个串$s$建$SAM$,然后我们如何找到最长公共字串,办法就是枚举$t$串所有的前缀,然后找各个前缀的最长能和$s$串匹配的后缀。 如果一个个跑需要$O(n^2)$,$SAM$可以来保存之前匹配的状态,假设现在匹配 阅读全文