数据结构__字符串
shuangde800
这个作者很懒,什么都没留下…
展开
-
HDU 2594 Simpsons’ Hidden Talents(KMP)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=2594题目大意:给两个字符串s1和s2, 求出是s1的前缀并且是s2的后缀的最长的字符串。分析与总结:真正理解好KMP算法,这题就是水题。首先求出s1的失配函数,然后在s2中寻找s1字符串。 在寻找字符串过程中,会有一个状态值j,这个值表示的是当前在s2中已经原创 2012-10-29 18:45:19 · 932 阅读 · 0 评论 -
CF 126B Password (KMP,利用next数组)
链接:http://www.codeforces.com/problemset/problem/126/B题目大意:给定一个字符串S, 找到一个子串t,使得这个子串既和S的前缀相同,又和S的后缀相同,但是t不能是S的前缀或后缀。分析与总结:利用和理解next数组的好题,首先可以找到所有与前缀相同的后缀的长度, 另len=|S|, 那么next[len] 就是原创 2012-11-03 00:06:43 · 1662 阅读 · 0 评论 -
zoj 3587 Marlon's String(拓展KMP+dp)
链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3587题目大意:给字符串S,T, 找到所有的tetrad (a,b,c,d), Sa..b + Sc..d = T , a≤b and c≤d.其实就是把T分成两段,这两段都由S中的子串组成的,求有多少中组合方式(S中的两个子串可重叠)。原创 2012-11-01 00:04:18 · 1515 阅读 · 0 评论 -
HDU 3724 Encoded Barcodes(字典树,计算前缀数)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=3724题目:Encoded BarcodesTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1022原创 2012-10-25 16:40:30 · 1184 阅读 · 0 评论 -
HDU 2222 Keywords Search(我的第一道AC自动机,模板题)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=2222分析与总结:作为著名的AC自动机入门题,已经给说烂了,我也没什么好说的了。 用来测试自己学了AC自动机之后写的代码的。话说这模板也有两种形式的,一种是用静态数组的,刘汝佳的大白书上就是那种,还有一种是我采用的这种指针形式的(但也是先静态开辟数组节点,然后分配数组空间上的给指原创 2012-11-04 13:21:37 · 1419 阅读 · 0 评论 -
HDU 3613 Best Reward(拓展KMP求前缀回文串)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=3613题目大意:给个字符串S,要把S分成两段T1,T2,每个字母都有一个对应的价值,如果T1,T2是回文串(从左往右或者从右往左读,都一样),那么他们就会有一个价值,这个价值是这个串的所有字母价值之和,如果不是回文串,那么这串价值就为0。问最多能获得多少价值?分析与总结:原创 2012-11-03 00:08:30 · 2929 阅读 · 1 评论 -
HDU 3695 Computer Virus on Planet Pandora(AC自动机)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=3695题目大意:给出n个匹配串,然后给一个长串S,找出S中有多少种匹配串。注意匹配串在S中正反出现的顺序都算是出现。S可能会有些段是压缩过的,格式为【qx】,q是一个数字,x是一个字母,代表有q个x。 假设 把B【3A】DE“解压缩”之后,就是BAAADE分析与总原创 2012-11-04 21:26:07 · 1539 阅读 · 0 评论 -
HDU 3460 Ancient Printer
链接:http://acm.hdu.edu.cn/showproblem.php?pid=3460题目:Ancient PrinterTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others)Total Submission(s): 955 A原创 2012-10-25 16:54:05 · 706 阅读 · 0 评论 -
HDU 1875 Word Puzzle
链接:http://acm.hdu.edu.cn/showproblem.php?pid=1857题目:Word PuzzleTime Limit: 3000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 427 Accept原创 2012-10-26 00:06:29 · 1570 阅读 · 0 评论 -
poj 3080 Blue Jeans(KMP匹配,枚举子串)
链接:http://poj.org/problem?id=3080题目大意:给出m(2分析与总结:依次枚举所有的子串, 然后再看是否在所有序列中都能够匹配。保存下长度最大且字典序最小的序列。代码:#include#include#includeusing namespace std;const int MAXN原创 2012-10-27 12:58:37 · 1140 阅读 · 0 评论 -
HUST 1010 The Minimum Length(KMP,最短循环节点)
链接:http://acm.hust.edu.cn/problem.php?id=1010题目:DescriptionThere is a string A. The length of A is less than 1,000,000. I rewrite it again and again. Then I got a new string: AAAAAA.原创 2012-10-27 14:50:31 · 1816 阅读 · 0 评论 -
poj 1961 Period(KMP, 最短循环节)
题目链接:POJ : http://poj.org/problem?id=1961HDU : http://acm.hdu.edu.cn/showproblem.php?pid=1358ZOJ : http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2177题目大意:给定一个长度为n的字符串s,原创 2012-10-27 08:24:45 · 1783 阅读 · 0 评论 -
poj 2752 Seek the Name, Seek the Fame(理解KMP的失配函数!)
链接:http://poj.org/problem?id=2752题目大意:给一个字符串S, 求出所有前缀pre,使得这个前缀也正好是S的后缀。 输出所有前缀的结束位置。例如 “ababcababababcabab”, 以下这些前缀也同时是S的后缀ab : 位置2abab : 位置4ababcabab : 位置9ababcababababcabab原创 2012-10-28 00:17:10 · 2012 阅读 · 0 评论 -
HDU 3746 Cyclic Nacklace(KMP,最短循环节)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=3746题目大意:给定一个字符串T, 在T后面添加x个字符串(让x最小),使得新字符串由前缀字串至少循环两次构成的。例如,abca, 只需要再添加2个字母bc, 形成abcabc,就变成了由abc循环两次构成的。分析与总结:失配函数构造next数组的性质的应用原创 2012-10-27 20:50:15 · 1418 阅读 · 0 评论 -
HDU 2896 病毒侵袭(AC自动机)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=2896题目:Problem Description当太阳的光辉逐渐被月亮遮蔽,世界失去了光明,大地迎来最黑暗的时刻。。。。在这样的时刻,人们却异常兴奋——我们能在有生之年看到500年一遇的世界奇观,那是多么幸福的事儿啊~~但网路上总有那么些网站,开始借着民众的好奇原创 2012-11-04 13:37:23 · 919 阅读 · 0 评论 -
HDU 2846 Repository(字典树,计数)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=2846题目:RepositoryTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 1657 Accept原创 2012-10-24 00:23:15 · 1664 阅读 · 0 评论 -
CF 149E Martian Strings(KMP)
链接:http://codeforces.com/problemset/problem/149/E题目大意:给出字符串S, 然后再给m个字符串T,判断有几个T是可以在S中找到坐标a, b, c, d, (1 ≤ a ≤ b c ≤ d ≤ n),使得S【a...b】+S【c...d】 = T.分析与总结:先找T的前缀,要找所有长度的前缀的最后一个字原创 2012-11-02 00:03:54 · 1280 阅读 · 0 评论 -
poj 2541 Binary Witch(KMP水过,逆序转换)
链接:http://poj.org/problem?id=2541分析与总结:做这题估算了下复杂度,觉得无论KMP再怎么快,这题暴力也肯定要超时的。想了很久也没想出个好办法,于是决定暴力之,但是TLE了....于是就放了几天。之后看了下discuss,这题的正解应该是状态压缩dp,不过目前我还不懂,跪了。之后百度发现也可以用KMP水过,虽然是因为数据水才过的,不过这原创 2012-10-29 17:55:10 · 1146 阅读 · 0 评论 -
HDU 3336 Count the string(经典,KMP+DP)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=3336题目大意:给一个字符串,求出这个字符串的所有前缀出现的次数之和。分析与总结:运用到了dp的思想,dp弱逼一个表示压力很大。。。向这位博主大人学习了:http://www.cnblogs.com/yuelingzhi/archive/2011/08/03/21原创 2012-10-29 20:19:09 · 1034 阅读 · 0 评论 -
HDU 1075 What Are You Talking About(字典树学习题)
链表:http://acm.hdu.edu.cn/showproblem.php?pid=1075题目:What Are You Talking AboutTime Limit: 10000/5000 MS (Java/Others) Memory Limit: 102400/204800 K (Java/Others)Total Submission(s原创 2012-10-22 01:30:05 · 866 阅读 · 0 评论 -
HDU 1247 Hat’s Words(字典树)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=1247题目大意:按照字典序给出多个单词, 可以发现里面有些单词是由字典中其它的两个单词组成的。按顺序输出所有符合这个条件的单词。分析与总结:用字典树存下所有的单词,然后对所有单词一一枚举, 对每个单词, 又进行“拆分”, 拆分可能有多种情况,所以枚举单词拆分的中点,原创 2012-10-22 15:31:54 · 936 阅读 · 0 评论 -
HDU 4300 Clairewd’s message(拓展KMP)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=4300题目大意:发送一个密文,为字符串S。这段密文的前半部份是加密过的,后半部分是没有加密过的。现在这段密文被截获,但是密文的尾部的一部份损失了。例如,假设密文是xxxxzzzz, xxxx是加密过的,zzzz是没加密的,因为损失了后面一部份,所以截获的内容可能为xxxxzz, 可以原创 2012-10-31 00:04:35 · 3958 阅读 · 0 评论 -
HDU 3374 String Problem(最小最大表示法+KMP)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=3374题目大意:给定一个字符串S, 可以通过向左移位得到另一个字符串。例如,S="SKYLONG", 通过位移得到的所有字符串(后面的数字表示rank,即第几个):SKYLONG 1KYLONGS 2YLONGSK 3LONGSKY 4ONGSKYL 5NGS原创 2012-10-31 16:26:28 · 1443 阅读 · 0 评论 -
HDU 4333 Revolving Digits(拓展KMP)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=4333题目大意:给一个数字字符串S, 可以把S最后一个数字移动到最前面变成另一个数字。例如123, 经过移动依次变成312,231,123。 注意当移动次数正好和S长度相等时,S又变回了最开始的那个数字。求这个移动过程所形成的所有字符串,大于S(最初的)的数字,等于S,以及小原创 2012-10-31 19:23:37 · 1673 阅读 · 2 评论 -
HDU 1251 统计难题(字典树,统计前缀个数)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=1251 题目Problem DescriptionIgnatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀). Input输入数据的第一部分是一张单词表,原创 2012-10-22 16:18:07 · 1140 阅读 · 0 评论 -
HDU 1298 T9(手机输入法相关,字典树+dfs)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=1298题目:Problem DescriptionA while ago it was quite cumbersome to create a message for the Short Message Service (SMS) on a mobile pho原创 2012-10-23 00:12:52 · 1710 阅读 · 0 评论 -
CF 182D Common Divisors(KMP最短循环节,循环周期)
链接:http://codeforces.com/problemset/problem/182/D题目大意:假设字符串也有因数,一个字符串S的因数是a,当且仅当S是由k个a连续组成的。 例如S="abababab", 那么"ab"和"abab"都是S的因子。给两个字符串,求它们的公因数有多少个。分析总结:先看看一个数的因子有什么性质。如果知道了一个最原创 2012-11-02 00:05:13 · 1257 阅读 · 0 评论 -
XDU 1154 大黄的选票(KMP)
链接:http://acm.xidian.edu.cn/land/problem/detail?problem_id=1154题目:Description 说,学校要驱除流浪狗是的原因是在某次让大家投"好庄严"一票的选举中,选西电大黄的选民太多了...为了避免类似情况再次发生..学校决定采用新的投票方法:1.每人只能在选票上写一个字母!2.按某原创 2012-11-02 10:50:05 · 998 阅读 · 0 评论