摘要: 题目大意:给你两个字符串,求从两个字符串中各选择一个字串使得这两个字串相同的方案数。 题解:建广义$SAM$,对每个点求出在第一个串中出现次数和第二个串中出现次数,乘起来就行了 卡点:无 C++ Code: 阅读全文
posted @ 2018-12-22 19:36 Memory_of_winter 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给你一棵$n$个点的树,最多有$20$个叶子节点,问共有几个不同的子串 题解:广义$SAM$,对每个叶子节点深搜一次,每个节点的$lst$设为这个节点当时的父亲,这样就可以时建出来的$SAM$含有所有的字串 卡点:无 C++ Code: 阅读全文
posted @ 2018-12-22 18:57 Memory_of_winter 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给你一个字符串,求其中本质不同的字串的个数 题解:同[洛谷P4070][SDOI2016]生成魔咒,只要最后再输出就行了 卡点:无 C++ Code: 阅读全文
posted @ 2018-12-22 15:49 Memory_of_winter 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给一个长度为$n$的字符串,求: $$\sum\limits_{1\leqslant i<j\leqslant n}|suf_i|+|suf_j|-2\times lcp(suf_i,suf_j)$$ 题解:建一棵后缀树,这个式子就成了后缀树上所有后缀之间的距离(后缀树可以把字符串反着加入 阅读全文
posted @ 2018-12-22 15:11 Memory_of_winter 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 题目大意:有一个字符串,每次在末尾加入一个字符,问当前共有多少个本质不同的字串 题解:$SAM$,就是问插入这个字符后,多了多少个字串,就是当前这个点的$Right$数组大小。 卡点:无 C++ Code: 阅读全文
posted @ 2018-12-22 13:39 Memory_of_winter 阅读(176) 评论(0) 推荐(0) 编辑