[CF1073G]LCP问题
摘要:题意:给一个长n的字符串S,q组询问,每组给两个集合A,B。求集合A中的点和集合B中的点所有组合情况的lcp的和。 思路: 好像比较常规,可是代码能力差还是调了1.5h。主要还是虚树板子不熟(加入的时候点要去重) SAM+虚树+虚树上dp 两个后缀的lca相当于后缀树上两个对应节点的LCA的len。
阅读全文
广义SAM[学习笔记]
摘要:参考 还有首先你要会SAM吧~ 用途 相比与单串SAM,广义自动机能存储的是多个字符串。 有两种写法,第一种是离线利用trie树结构,第二种是在线伪广义SAM 离线+Trie 首先构建出trie树。 然后在trie树上BFS(),用
pos[u]映射trie树上
u节点对应SAM上的节点。 为什
阅读全文
SAM[详细~bushi][学习笔记]
摘要:基础性质概念 后缀自动机:S的SAM是个DAG,每个节点叫状态,每条带字符ch边表示+ch转移,从开始节点往下,任何一条路径都会对应一个S的子串。 不过为什么要叫"后缀"自动机呢? endpos集合:endpos(s)={s的所有右端点}[s为S的一个子串] 状态(节点):把endpos{}相同的等
阅读全文