随笔分类 -  字符串

POJ1743 后缀数组
摘要:``` /* POJ1743 后缀数组 求字符串中至少重复1次或者且不重叠的最长长度 这里重复指的是两个字符串对应位置相减的差相等。 读入字符串后,前一位减后一位,生成一个新的字符串,转化为求不重合最长重复子川问题 (对应位置相减的差相同,意味着两个字符串增长的趋势相同,所以 一上来相减相当于把趋势给提炼出来)太菜给跪 Author: lcy Time: 2017-10-6 */ #includ... 阅读全文
posted @ 2017-10-06 17:06 cylcy 阅读(140) 评论(0) 推荐(0)
Hihocoder1407 后缀数组
摘要:``` / Author: lcy Time: 2017 10 6 Hihocoder1407 后缀数组 求字符串中至少重复1次且不重叠的最长长度 与之前的题目一样,只不过这次加上了“不重叠”这个条件 最长长度满足二分答案的条件,即如果不存在长度a的连续序列满足 条件,那么长度大于a的连续序列更不可 阅读全文
posted @ 2017-10-06 10:45 cylcy 阅读(140) 评论(0) 推荐(0)
Hihocoder1403 后缀数组
摘要:``` /* Author: lcy Time: 2017-10-5 Hihocoder1403 后缀数组 求字符串中至少重复k次最长的长度 既然重复,那么假如把后缀排好序,重复的片段一定在一个区间内 一段连续LCP区间内的最小值即为该区间内最长的公共前缀 现在已知了LCP,问题转化为求长度至少为k的连续区间内LCP的最小值的最大值 因为增加区间长度,并不会使该区间的最小值更大,即不会使得结果... 阅读全文
posted @ 2017-10-05 19:18 cylcy 阅读(111) 评论(0) 推荐(0)
HDU2594 KMP
摘要:``` / hdu2594 给你两个字符串a与b,求a的前缀与b的前缀相同的最长长度。 可以马上联想到MP算法中的f数组,其中f[i]正是s[0...i]中前缀与后缀相同的最长长度 把两个字符串连在一起, 中间加了一个特殊符号 ,这样保证前缀与后缀不会跨越两个字符串 多组数据,需要每次将f清零,不然 阅读全文
posted @ 2017-09-28 15:04 cylcy 阅读(126) 评论(0) 推荐(0)
POJ3691 AC自动机 dp
摘要:``` /* poj3691 AC自动机 dp lcy 2017-9-24 给出多个危险基因串,再给出一个基因串,求最少修改几次基因串使得其上不包含危险基因串。 dp部分已给出超详细注释 最重要的一点,AC自动机上的每个点都对应一个状态,状态之间通过字符转移。(个人粗浅理解) */ #include #include #include #include #include #includ... 阅读全文
posted @ 2017-09-27 17:46 cylcy 阅读(102) 评论(0) 推荐(0)
Codeforces835d 发现规律+打表
摘要:``` //cf835d 发现规律+打表 / 连T几次后才发现规律。。 多写几组看出,k 回文串的必要条件是其本身是回文串, 在这个基础上,只要保证它的左半部分和右半部分分别都是回文串即可。 (如果用左半部分和右半部分比较是否相同必然超时。。) 这样一上来用n^2时间找出所有回文串并标记,接着从小到 阅读全文
posted @ 2017-09-22 17:14 cylcy 阅读(300) 评论(0) 推荐(0)
HDU6096 AC自动机(添加特殊符号)
摘要:``` //hdu6096 AC自动机 / 参照了:http://blog.csdn.net/calabash_boy/article/details/77101529 利用一个很巧妙的方法将这道题目转化为AC自动机题 对于每组前缀和后缀,将他们拼成后缀+' '+前缀的字符串, 将所有这些组当成模式 阅读全文
posted @ 2017-09-22 17:05 cylcy 阅读(163) 评论(0) 推荐(0)
POJ2778 AC自动机 矩阵快速幂(求路径数)
摘要:``` / poj2778 congyu liu 2017 9 22 AC自动机+矩阵快速幂 详见http://blog.csdn.net/morgan_xww/article/details/7834801 感谢博主 先将不能包含的基因组单词跑一遍AC自动机建图, 接着,问题转化成,求从trie树 阅读全文
posted @ 2017-09-22 16:52 cylcy 阅读(128) 评论(0) 推荐(0)