摘要: 题面 "传送门" Sol $sam$ 求一个串的不重复的第$k$小子串很好办 如果可以相同 那么要算上每个点(前缀)的后缀的个数 那么就是这个$endpos(right)$集合的子串的出现次数 cpp include define IL inline define RG register defin 阅读全文
posted @ 2018-04-21 15:27 Cyhlnj 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 题面 第一行给定主串$(len define IL inline define RG register define Fill(a, b) memset(a, b, sizeof(a)) define File(a) freopen(a".in", "r", stdin), freopen(a".o 阅读全文
posted @ 2018-04-21 14:18 Cyhlnj 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 题面 "bzoj" Sol $sam$ 维护一下不同子串的个数就好了 开$map$ 阅读全文
posted @ 2018-04-21 14:13 Cyhlnj 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 题面 字符串$ S $最多包含$ 25 $万个小写拉丁字母。我们将$ F(x) $定义为长度为$ x $的某些字符串出现在$ s $中的最大次数。例如,对于字符串$ “ababa”$,$F(3) $将为$ 2$,因为存在两次出现的字符串$ “aba”$。您的任务是为每个$ i $输出 $F(i)$, 阅读全文
posted @ 2018-04-21 14:11 Cyhlnj 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 题面 给定一些字符串,求出它们的最长公共子串 输入格式 输入至多 $10$ 行,每行包含不超过 $100000$个的小写字母,表示一个字符串 输出格式 一个数,最长公共子串的长度 若不存在最长公共子串,请输出 $0$ Sol 一个串建立$sam$ 每个串在上面匹配 每个点匹配的长度可以由后继转移过来 阅读全文
posted @ 2018-04-21 14:08 Cyhlnj 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 题面 输入$2$个长度不大于$250000$的字符串,输出这$2$个字符串的最长公共子串。如果没有公共子串则输出$0$ Sol 一个串建立$sam$ 另一个串在上面匹配 cpp include define IL inline define RG register define Fill(a, b) 阅读全文
posted @ 2018-04-21 14:05 Cyhlnj 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 题面 "luogu" Sol $sam$然后树形$DP$ ~~当时还不会拓扑排序的我~~ cpp include define IL inline define RG register define Fill(a, b) memset(a, b, sizeof(a)) using namespace 阅读全文
posted @ 2018-04-21 14:03 Cyhlnj 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 题面 给定一个串,每次询问$l~r$组成的子串的不同子串个数 串长$2000$ Sol 每个左端点建一个$sam$同时记录答案 cpp include define IL inline define RG register define Fill(a, b) memset(a, b, sizeof( 阅读全文
posted @ 2018-04-21 11:54 Cyhlnj 阅读(129) 评论(0) 推荐(0) 编辑