SAM
Devil_Gary
这个作者很懒,什么都没留下…
展开
-
BZOJ4566 [Haoi2016]找相同字符 SAM+拓扑
学了几天SAMSAM学了 这道题总算是领会到了些许 对parentparent树有了更深的理解 但是我还是不能表述出来 太菜了大家可以去百度CLJ神犇的PPT 讲的很好 附一个百度文库的网址我们可以先跑出两个串的SAMSAM 对于每一个节点 记录到达此节点的串的数目 这时候要用到拓扑 因为对于一个节点ii 如果有两个串能在i匹配 则他一定能下parent[i]parent[i] 匹配 所以到拓扑将每原创 2017-12-25 20:17:50 · 810 阅读 · 0 评论 -
BZOJ5137[Usaco2017 Dec]Standing Out from the Herd
看了半天题 不知道怎么用SAM维护 于是借(chao)鉴(xi)的一发神犇的 只要判断这个子串之前被标记的记号(也就是他属于第几个串)和这次转移到的是否相同 如果不同就说明该子串属于多个串 直接标记-1 依次转移就好咧 最后统计就是ans[f[i]]+=sam[i].mx−sam[par[i]].mx;f[i]ans[f[i]]+=sam[i].mx-sam[par[i]].mx; f[i]就是原创 2018-01-12 18:18:40 · 587 阅读 · 0 评论 -
BZOJ3473 字符串 广义后缀自动机
今天主攻了下SAM 好多东西以前都没理解到 对于这道题 我们建一个自动机存所有串 每个穿last从1开始 对于自动机上每个点额外记一个cnt 表示能匹配到这个点的不同串个数 建完对每个串在自动机上匹配 把到的每个点x和par[x],par[par[x]]…的cnt++ 然后就从父亲往儿子传递一下 这样每个点i就存了所有≤" role="presentation" style原创 2018-02-07 17:01:57 · 444 阅读 · 0 评论