SAM——重复旋律能告诉我们什么
- 重复旋律五:S中本质不同的子串数量:∑szi=1leni−lenfi
- 重复旋律六:如果节点u不包含子串S[1..i],也就是不存在母串的某个前缀,那么满足|endpos(u)|=∑|endpos(son(u))|,其中son(u)为u点的所有儿子,否则|endpos(u)|=∑|endpos(son(u))|+1。
- 重复旋律七:通过len与桶排序在线性时间内求出SAM的拓扑序;可以考虑通过求出父亲与儿子的关系在parent树上递推出答案;多串处理时可以考虑在中间假如一些分隔字符。
- 弦论
乱入:每一节点的endpos的大小代表了本质相同的串的出现次数,可以通过siz=|endpos|或者1来解决本质相同/不同子串的问题,其中siz表示单个子串的出现位置,可以通过拓扑序倒序递推,而表示子树大小的sum则需要在parent树上求得。
(持续更新中……
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步