后缀自动机 //确认maxn大小,一般是原字符串长度最大值的2倍,然后是init(),最后是一个一个的字符插入, //转化成对应的数字,调用Insert函数,可支持在线。 struct SAM { int ch[maxn][26]; int pre[maxn],step[maxn]; int las ...
分类:
其他好文 时间:
2016-09-12 14:26:20
阅读次数:
162
题意:对于每个位置,统计有多少个相同的字串。 分析:按照题目的意思,把fail树画出来就会发现,对于第i个字符:ans[i] = ans[i-1] + (ans[i-1]-ans[i-1]) + cal(i); cal(i)是计算s[1…i-1]所有子串与s[1…i]的最长公共后缀的和。换句话说,根 ...
分类:
其他好文 时间:
2016-09-08 10:06:16
阅读次数:
346
Problem Description Now you are back,and have a task to do:Given you a string s consist of lower-case English letters only,denote f(s) as the number o ...
分类:
其他好文 时间:
2016-08-26 09:06:21
阅读次数:
269
简介
后缀三姐妹:后缀数组,后缀自动机,后缀树。
后缀自动机:Suffix Automation,也叫SAM。
创立算法的思路来源:能不能构出一个自动机(本质就是一个有向图),能识别一个串的所有后缀。
识别所有后缀基础想法
把所有的后缀都放进一个trie里面,比如串aabbabd。
这样的状态太多了,怎么把状态数缩小。
减小状态数的方法
定义一个子串的right集合为这...
分类:
其他好文 时间:
2016-08-19 08:37:43
阅读次数:
554
Problem Jong Hyok and String 题目大意 给你n个字符串,有q个询问。 定义set(s)={(i,j)} 表示 s在第i个字符串中出现,且末尾位置为j。 对于一个询问,求set(Qi)=set(t) ,t的数量。 (n,q<=10^5 , 字符串总长<=10^5) 解题分析 ...
分类:
其他好文 时间:
2016-08-17 00:04:31
阅读次数:
411
haze 图论 swt0_0 数学 博弈论 dp 期望 Platypus 字符串 kmp AC自动机 后缀数组 回文树 后缀自动机 待定 计算几何 ...
分类:
其他好文 时间:
2016-08-13 22:32:51
阅读次数:
131
【问题描述】 如果一个字符串可以被拆分为 AABB 的形式,其中 A 和 B 是任意非空字符串, 则我们称该字符串的这种拆分是优秀的。 例如,对于字符串 aabaabaa,如果令 A = aab, B = a, 我们就找到了这个字符串拆分成 AABB 的一种方式。 一个字符串可能没有优秀的拆分,也可 ...
分类:
其他好文 时间:
2016-08-11 17:58:25
阅读次数:
241
【题目大意】 求两个字符串的最长公共子串。 【思路】 对第一个字符串建立后缀自动机,第二个字符串去匹配。cnt记录当前最长公共子串的长度,而ret记录答案。 p代表位置指针,初始在rt位置。 对于第二个字符串的某一位s[i],如果当前有s[i]孩子,则cnt+1,继续往后移动;否则沿着pre指针返回 ...
分类:
其他好文 时间:
2016-08-06 12:51:43
阅读次数:
156
今天想学字符串hash是怎么弄的。就看到了这题模板题 http://acm.hdu.edu.cn/showproblem.php?pid=4622 刚开始当然不懂啦,然后就上网搜解法。很多都是什么后缀自动机那些。作为小白的我当然不懂啦,更重要的是我想学的是字符串hash这种解法呢?然而有这种解法,但 ...
分类:
其他好文 时间:
2016-08-01 00:04:36
阅读次数:
849
Reincarnation Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others)Total Submission(s): 3194 Accepted Submission(s): 1184 ...
分类:
其他好文 时间:
2016-07-24 12:03:11
阅读次数:
214