山东济南彤昌机械科技有限公司 山东济南江鹏工贸游有限公司

随笔分类 -  字符串

上一页 1 2 3 下一页

bzoj 3926 [Zjoi2015]诸神眷顾的幻想乡(SAM)
摘要:【题目链接】 http://www.lydsy.com/JudgeOnline/problem.php?id=3926 【题意】 给定一棵树,每个节点都有相应的颜色,且保证叶子数不超过20,问有多少条本质不同的颜色路径。 【思路】 从每个叶子开始dfs,构建广义后缀自动机,答案为l[i]-l[fa[ 阅读全文

posted @ 2016-02-19 17:41 hahalidaxin

bzoj3998 [TJOI2015]弦论(SAM)
摘要:【题目链接】 http://www.lydsy.com/JudgeOnline/problem.php?id=3998 【题意】 询问排名第k的子串是谁,0代表相同子串不同位置算作相同,1代表相同子串不同位置算作不同。 【思路】 0的情况和这个题一样每个子串不同位置出现次数算作1; 至于1,统计va 阅读全文

posted @ 2016-02-19 13:06 hahalidaxin

bzoj2946 [Poi2000]公共串(SA,SAM)
摘要:【题意】 多串求LCS。 【思路】 主要是想找一下SAM的优越感 :) velui good 后缀数组划分height需要注意不少细节 <_<,然后不停debug 【代码】 1 #include<cstdio> 2 #include<cstring> 3 #include<iostream> 4 u 阅读全文

posted @ 2016-02-19 11:43 hahalidaxin

codevs 3160 最长公共子串(SAM)
摘要:3160 最长公共子串 题目描述 Description 给出两个由小写字母组成的字符串,求它们的最长公共子串的长度。 输入描述 Input Description 读入两个字符串 输出描述 Output Description 输出最长公共子串的长度 样例输入 Sample Input yesho 阅读全文

posted @ 2016-02-18 20:21 hahalidaxin

spoj 7258 SUBLEX(SAM,名次)
摘要:【题目链接】 http://www.spoj.com/problems/SUBLEX/en/ 【题意】 给定一个字符串,询问次序为k的子串。 【思路】 SAM,名次 建好SAM后求出每个结点根据trans转移向下统计有多少与该结点有相同前缀的子串,每个结点只算一个,因为该结点所代表的字符串集中只可能 阅读全文

posted @ 2016-02-18 17:18 hahalidaxin

spoj 1812 LCS2(SAM+DP)
摘要:【题目链接】 http://www.spoj.com/problems/LCS2/en/ 【题意】 求若干个串的最长公共子串。 【思路】 SAM+DP 先拿个串建个SAM,然后用后面的串匹配,每次将所有的匹配长度记录在状态上取min,然后对所有状态取max即答案。 需要更新fa,因为fa[p]一定比 阅读全文

posted @ 2016-02-18 16:09 hahalidaxin

spoj 8222 Substrings(后缀自动机+DP)
摘要:【题目链接】 http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=28005 【题意】 给一个字符串S,令F(x)表示S的所有长度为x的子串中,出现次数的最大值。求F(1)..F(Length(S)) 【思路】 建立一个SAM。 对 阅读全文

posted @ 2016-02-18 11:03 hahalidaxin

tyvj P1519 博彩游戏(AC自动机+DP滚动数组)
摘要:P1519 博彩游戏 背景 Bob最近迷上了一个博彩游戏…… 描述 这个游戏的规则是这样的:每花一块钱可以得到一个随机数R,花上N块钱就可以得到一个随机序列;有M个序列,如果某个序列是产生的随机序列的子串,那么就中奖了,否则不中。Bob会告诉你这M个序列,和身上有的钱的总数N,当然还有R的范围。请你 阅读全文

posted @ 2016-02-17 19:03 hahalidaxin

bzoj 1030 [JSOI2007]文本生成器(AC自动机+DP)
摘要:【题目链接】 http://www.lydsy.com/JudgeOnline/problem.php?id=1030 【题意】 给n个小串,随机构造一个长为m的大串,一个串合法当且仅当包含一个或多个给定的小串,问合法串的数目。 【思路】 AC自动机+DP 首先将问题转化为求不合法的大串的数目。 将 阅读全文

posted @ 2016-02-17 16:25 hahalidaxin

poj3415 Common Substrings(后缀数组,单调栈 | 后缀自动机)
摘要:【题目链接】 http://poj.org/problem?id=3415 【题意】 A与B长度至少为k的公共子串个数。 【思路】 基本思想是将AB各个后缀的lcp-k+1的值求和。首先将两个字符串拼接起来中间用未出现的字符隔开,划分height数组,这首先保证了每一组中字符串之间的公共子串至少有k 阅读全文

posted @ 2015-11-29 17:41 hahalidaxin

poj3294 Life Forms(后缀数组)
摘要:【题目链接】 http://poj.org/problem?id=3294 【题意】 多个字符串求出现超过R次的最长公共子串。 【思路】 二分+划分height,判定一个组中是否包含不小于R个不同字符串的后缀。 需要注意的有: 1) c[]尽量开大,字符范围为“偏移”之后的范围。 2) 用kase作 阅读全文

posted @ 2015-11-29 11:06 hahalidaxin

[总结]后缀数组: 注释+模板
摘要:以下模板单单注释了如何使用,算法详解可参考 罗穗骞《后缀数组——处理字符串的有力工具》 算法注释: #include<cstdio> #include<cstring> #include<iostream> #define FOR(a,b,c) for(int a=(b);a<=(c);a++) u 阅读全文

posted @ 2015-11-28 18:35 hahalidaxin

poj2774 Long Long Message(后缀数组)
摘要:【题目链接】 http://poj.org/problem?id=2774 【题意】 A & B的最长公共子序列。 【思路】 拼接+height数组。将AB拼接成一个形如A$B的串,枚举height数组并判断sa[i]是否与sa[i-1]分别属于两个不同的字符串,如果是则比较得ans。 时间复杂度为 阅读全文

posted @ 2015-11-28 18:23 hahalidaxin

poj2406 Power Strings(kmp失配函数)
摘要:Power StringsTime Limit: 3000MSMemory Limit: 65536KTotal Submissions: 39291Accepted: 16315DescriptionGiven two s... 阅读全文

posted @ 2015-11-28 17:44 hahalidaxin

Ural1297 Palindrome(后缀数组)
摘要:【题目链接】 http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=12406 【题意】 求最长回文子串。 【思路】 将字符串反向拼接在后,中间用一个没有出现的字符隔开,则问题转化为求新字符串两个特定后缀的lcp,枚举对称点i,对称数 阅读全文

posted @ 2015-11-28 16:14 hahalidaxin

poj3261 Milk Patterns(后缀数组)
摘要:【题目链接】 http://poj.org/problem?id=3261 【题意】 至少出现k次的可重叠最长子串。 【思路】 二分长度+划分height,然后判断是否存在一组的数目不小于k即可。 需要注意的是:用末尾添0的方法解决n==1时的RE问题,但是在can中需要忽略height[0]且考虑 阅读全文

posted @ 2015-11-28 10:51 hahalidaxin

poj1743 Musical Theme(后缀数组|后缀自动机)
摘要:【题目链接】 http://poj.org/problem?id=1743 【题意】 求不可重叠最长重复子串。 2015-11-27 【思路】 1) 据题意处理字符串 2) 后缀数组。二分长度k,问题成为了判定是否存在两个及以上长度不小于k且互不重叠的子串。根据height数组划分后缀,满足两个条件 阅读全文

posted @ 2015-11-27 21:41 hahalidaxin

HDU2222 Keywords Search(AC自动机)
摘要:Keywords SearchTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 46676Accepted Submission(s): 1485... 阅读全文

posted @ 2015-11-24 16:33 hahalidaxin

HDU4099 Revenge of Fibonacci(高精度+Trie)
摘要:Revenge of Fibonacci Time Limit: 10000/5000 MS (Java/Others)Memory Limit: 204800/204800 K (Java/Others) ... 阅读全文

posted @ 2015-11-22 17:17 hahalidaxin

HDU1247 Hat’s Words(Trie的动态内存版本)
摘要:Hat’s Words Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others) ... 阅读全文

posted @ 2015-11-22 15:45 hahalidaxin

上一页 1 2 3 下一页