上一页 1 2 3 4 5 6 7 ··· 16 下一页
摘要: 题意 有M篇标准作文组成了一个作文库(每篇作文都是一个01的字符串),然后给出N篇作文(自然也是01字符串)。如果一个长度不小于L的串在作文库中出现过,那么它是熟悉的。对于某一篇作文,我们要把它分为若干段,使得熟悉过的字符串长度>=百分之90,我们要求满足这个条件的最小的L。 分析 这个L显然满足二 阅读全文
posted @ 2018-11-01 20:46 蒟蒻LQL 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 题意 给定一棵树,每个结点有一个颜色,问树上有多少种子串(定义子串为两点上路径颜色的序列)。保证叶子结点<=20 分析 我们可以发现一个结论,任意一个子串一定是以某个叶子结点为根的trie的后缀。我们有注意到,叶子节点最多只有20,那么我们可以将每个叶子结点拿出来,以它为根按照trie树的方式插到广 阅读全文
posted @ 2018-11-01 20:24 蒟蒻LQL 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 题意 给出你n个字符串和q个查询,每个查询给出一个字符串s,对于每个查询你都要输出这个字符串s在上面多少个字符串中出现过。 分析 广义后缀自动机的裸题。建好SAM以后再跑一遍得到每个状态的ocu和las。然后对于每个查询的字符串,跑到那个状态然后输出那个状态的ocu就可以了。 1 #include 阅读全文
posted @ 2018-11-01 20:16 蒟蒻LQL 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 题意 给出n个字符串,问每个字符串中有多少子串是这所有的n个字符串中至少k个的子串。 分析 广义后缀自动机模板题。对这n个串建广义后缀自动机,对于每个状态维护两个值cou[u]和lcu[u]分别代表拥有这个状态的子串的数量和上一次更新到这个状态的子串的数量。然后设f[u]为状态u到祖先的所有结点有多 阅读全文
posted @ 2018-11-01 20:07 蒟蒻LQL 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 题意 给出一个字符串s1和q个询问,每个询问给出一个字符串s2,问这个询问的字符串的所有不同的周期串在s1中出现的次数的和。 分析 对于s1建后缀自动机。对于询问的每个字符串s2,我们按照处理循环串的方法,将它长度乘二再复制一遍。然后根据s2在自动机上跑,当长度len=n的时候,就更新答案。因为要求 阅读全文
posted @ 2018-11-01 15:38 蒟蒻LQL 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 题意 分析 这个题目还是很优秀的。sigma(len(Ti)+len(Tj))的值是一定的=n*(n+1)*(n-1)/2。那么关键就是求任意两个后缀的lcp的和了。 我们怎么求两个后缀的lcp?如果用后缀自动机的话,我们可以先把字符串反过来,然后建后缀自动机,那么两个后缀的lcp就是他们两个在pa 阅读全文
posted @ 2018-11-01 14:56 蒟蒻LQL 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 题意 给定两个字符串,求两个字符串相同子串的方案数。 分析 那么将字符串s1建SAM,然后对于s2的每个前缀,都在SAM中找出来,并且计数就行。 我一开始的做法是,建一个u和len,顺着s2跑SAM,当st[u].next[c]存在的时候,u=st[u].next[c],len++,这时候找到了这个 阅读全文
posted @ 2018-11-01 12:00 蒟蒻LQL 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 题意 给定一个长度为n的字符串,求他的第k小子串是什么。 分析 T=0的时候,这个题跟SPOJ-SUBLEX的做法一样,当T=1的时候,不同位置的子串算多个,那么初始化的时候d[u]=cnt[u],没走一个字符不是k-1而是k-cnt[u]。 1 #include <cstdio> 2 #inclu 阅读全文
posted @ 2018-11-01 11:08 蒟蒻LQL 阅读(320) 评论(0) 推荐(0) 编辑
摘要: 题意 给出一个n个数字的序列,找出相同变化趋势且不重叠的两个最长子串。 分析 这个题以前应该用后缀数组+二分做过。学了后缀自动机后可以用后缀自动机搞一下。 先差分,然后把查分后的数组建SAM。然后对于每个状态记录一个l[u],和r[u],分别代表right集合中,最大的v和最小的v。(这里如果不明白 阅读全文
posted @ 2018-11-01 10:21 蒟蒻LQL 阅读(278) 评论(1) 推荐(0) 编辑
摘要: 题意 给出一个字符串和q个询问,每个询问给出一个整数k,输出第k大得子串。 分析 建后缀自动机,利用匹配边来解决。设d[v]为从状态v开始有多少不同的路径。这个显然是可以递推出来的。然后对于每个询问,根据d[v]来选择走哪个状态就可以了。 1 #include <cstdio> 2 #include 阅读全文
posted @ 2018-11-01 09:12 蒟蒻LQL 阅读(163) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 16 下一页