摘要: 题解: 如果树上某个路径串的端点不是叶子,那么一定是另一个串的子串; 这样只对叶子$dfs$把$20*20$个串插入广义$SAM$就是统计本质不同的串的个数的模板了; 我不太会分析广义$SAM$的空间,但是我知道似乎完全图是有$n-1$条欧拉回路的,所以长度不会超过$2n*(20-1)$,需要卡一卡 阅读全文
posted @ 2019-01-06 22:11 大米饼 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 题解 SA+并查集 把ht按大小倒序加入,并查集合并维护答案的变化; SAM 翻转串,求出SAM的parent树就是后缀树,两个串的最长公共后缀是他们lca的len值; 考率一个节点x,那么它子树里的后缀点两两都是len[x]相似的,所以在prent树上做dp即可; 第二问的统计比较麻烦,可以直接写 阅读全文
posted @ 2019-01-06 21:40 大米饼 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 题解: 对病毒串建立ac自动机; 有一个无限长的串等价于可以一直在自动机上匹配,等价于自动机上的转移有环; 当然前提是去掉病毒节点的fail子树; 写一个dfs记录是否在栈中,来过没有找到就不必再来了再记录一个vis保证复杂度; 然而。。。。。。我在找环的时候呆了很久,最后写了tarjan; 如果你 阅读全文
posted @ 2019-01-06 21:02 大米饼 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 题解们: 1.首先可以被很多暴力给搞过去;我以前也是这样水过去的 2.ac自动机 2.1 抽离fail树 对点名建自动机,建$fail$树的时候只保留询问节点; 对于一个喵,子串==在自动机里匹配到的所有节点的$fail$祖先并 把姓和名都放到里面去跑,得到所有的点,需要把这些点在新的$fail$树 阅读全文
posted @ 2019-01-06 08:28 大米饼 阅读(473) 评论(0) 推荐(0) 编辑