
ACM_字符串
文章平均质量分 67
dilemma729
这个作者很懒,什么都没留下…
展开
-
POJ 4052-Hrinity(KMP算法+AC自动机)
题目大意:给出一系列模式串,可能是以压缩形式给出的,并给出文本串,求问模式串总共出现了多少次,如果同一个模式串出现多次,只算一次,如果模式串A和B出现了,模式串B是A的子串,那么B不算。 首先对字符串解压,然后对解压之后的模式串存入AC自动机中,接着算出哪些匹配,对于那些匹配的,我是KMP算法判断是否有子串的关系。 #include #include #include #def原创 2015-02-24 18:46:04 · 456 阅读 · 0 评论 -
UVA 1314-Hidden Password(后缀数组)
题目大意:有一串长度为L(5 首先将字符串在原字符串后拼接一次得到长度为2*L的字符串。 用后缀数组计算各个后缀的长度为L的前缀就可以得出答案,计算完毕之后利用x数组可以求得起始点最小的。 首先预处理出得到L的操作,起始数为1,操作包含两种:加1和乘2,对后缀数组的倍增模板修改使得它能完成加1的操作。 #include #include char s[200010]原创 2015-02-24 19:30:33 · 498 阅读 · 0 评论 -
UVA 11488-Hyper Prefix Sets(trie树+DFS)
题目大意:给出若干个01串,定义P(S)为这个串的集合的某个公共前缀的长度乘有这个公共前缀的字符串个数,求最大的P(S)。 用trie树存字符串,val[u]表示结点u有多少个字符串可称为公共前缀,最终dfs求出答案。 #include #include #include #define MAXNODE 10000010 #define SIZE 2 int ch[MAXNOD原创 2015-02-24 18:37:48 · 500 阅读 · 0 评论