
字符串匹配
文章平均质量分 77
Just_JK
这个作者很懒,什么都没留下…
展开
-
Manacher's Algorithm 马拉车算法
原文链接这个马拉车算法Manacher‘s Algorithm是用来查找一个字符串的最长回文子串的线性方法,由一个叫Manacher的人在1975年发明的,这个方法的最大贡献是在于将时间复杂度提升到了线性,这是非常了不起的。对于回文串想必大家都不陌生,就是正读反读都一样的字符串,比如 "bob", "level", "noon" 等等,那么如何在一个字符串中找出最长回文子串呢,可以以每一个字符...转载 2018-09-04 11:26:24 · 175 阅读 · 0 评论 -
牛客网 Wannafly挑战赛9 B 数一数(KMP)
题目链接 解析:这道题题目读懂其实是很简单的。因为题目求得是乘积,所以只要有一项为0 ,那么答案就为0.所以对于s,t串来说,如果len(s)>len(t),那么f(s,t)=0,如果len(s)==len(t)&&strcmp(s,t)!=0,那么f(s,t)=0按照这个规律,那么其实所有答案中,只有长度最短的串可能不为0,其余全部为0.并且当有多个...原创 2018-02-15 14:03:01 · 243 阅读 · 0 评论 -
hdu 6153 A Secret(KMP)
A Secret Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 256000/256000 K (Java/Others)Total Submission(s): 1929 Accepted Submission(s): 707 Problem DescriptionToday is the bir...原创 2017-08-22 10:35:09 · 175 阅读 · 0 评论 -
HDU 3613 Best Reward(扩展KMP的应用:回文串判断+扩展KMP模板)
Best RewardTime Limit : 2000/1000ms (Java/Other)Memory Limit : 65536/65536K (Java/Other)Total Submission(s) : 16Accepted Submission(s) : 9Problem DescriptionAfter an uphill battle, Gener...原创 2017-07-27 22:35:29 · 498 阅读 · 0 评论 -
Wannafly挑战赛11 D 白兔的字符串 (字符串hash)
点击打开链接 解析:字符串hash就是进制表示,就是让每一个字母都有一个值,类似与二进制例如 01011011 (二进制)-> 91 (十进制)这样每一个二进制数都对应一个十进制数,且不会有两个二进制数对应一个十进制数的情况这样到字符串的话,就将a-z字母每一个定义一个权值(0-26等等都可以,只要是连续的),进制选取的话根据你定义的权值选取,如果按我那样选取的话...原创 2018-03-12 15:22:58 · 434 阅读 · 0 评论 -
ACM-ICPC 2018 南京赛区网络预赛 I. Skr (马拉车+字符串hash/回文自动机)
题目链接题意:给你一个只有0~9的数字组成的字符串,定义一个字符串的价值就是他表示的数字,"120"的价值是120问你在字符串内不同的回文子串的价值总和是多少解析:马拉车算法求最大回文子串马拉车算法里面匹配回文串的时候,其实就已经遍历过字符串内所有不同的回文子串至少一遍那么我们就可以在马拉车算法里面由于回文串匹配的while()里面来处理就可以了。然后这里因为马拉车...原创 2018-09-05 10:30:22 · 483 阅读 · 0 评论 -
回文自动机
本文参考自原文链接回文自动机,又叫回文树,是由俄罗斯人 MikhailRubinchik于2014年夏发明的(http://codeforces.com/blog/entry/13959).这是一种比较新的数据结构,在原文中已有详细介绍与代码实现。回文树其实不是严格的树形结构,因为它有是两棵树,分别是偶数长度的回文树和奇数长度的回文树,树中每个节点代表一个回文串。为了方便,第一棵树...原创 2018-09-05 16:23:19 · 592 阅读 · 0 评论 -
后缀自动机小结
学习参考后缀自动机讲解构造通俗版后缀自动机讲解+应用通俗版后缀自动机题型+模板后缀自动机严谨版(内容较全)后缀自动机个人心得版后缀自动机洛谷版模板后缀自动机大佬讲解PPT如果你看完这些,你后缀自动机基本上没问题了如果你想会用的话那只要看前4个就可以了(因为博主自己也只看了前四个的一部分......)下面是我自己的小结先是一些后缀自动机的定义ch[x...转载 2018-10-04 15:14:29 · 204 阅读 · 0 评论 -
ACM-ICPC 2018 焦作赛区网络预赛 H. String and Times(后缀自动机)
题目链接题意:求原串S中出现次数在[A,B]之间的子串的个数解析:后缀自动机的经典应用。我是通过结合了求不同子串个数的d[]和不同子串出现次数的sz[]来做的。在拓扑序遍历后缀自动机的时候,我们求不同子串个数是默认d[]初始为1 的,因为默认一个状态点本身也是一条可行路径但是这里我们是有限定次数的,所以对于一个状态点v表示的子串出现次数sz[v]不在[A,B]时,那么他...原创 2018-10-04 15:31:21 · 337 阅读 · 0 评论