string标准库固然强大,但是仍然有一些处理字符串的优秀数据结构。Trie(前缀树)就是其中之一,它通过在树上对不同字符串的相同字符只记录一次,来实现对多个字符串的"压缩":可以认为多个字符串被压成了一个超级大的字符串。int ch[10000][26],cnt[10000];int sz=1; ...
分类:
其他好文 时间:
2014-10-02 23:21:23
阅读次数:
187
假设手里有N个串,和原文进行匹配,如果跑KMP,得把原文跑N次,实在是太费时间了。AC自动机借助于Trie的压缩功能,将多个串压成一个“树”,用这个树进行KMP,这就是贝尔实验室发明的AC自动机。AC自动机主要有三个操作;insert,getfail,print,find。insert的操作和Tri...
分类:
其他好文 时间:
2014-10-02 22:59:53
阅读次数:
204
题目大意:
修改文本串的上的字符,使之不出现上面出现的串。问最少修改多少个。
思路分析:
dp[i][j]表示现在 i 个字符改变成了字典树上的 j 节点。
然后顺着自动机一直转移方程。
注意合法与不合法。
#include
#include
#include
#include
#define inf 0x3f3f3f3f
using namespace std...
分类:
其他好文 时间:
2014-10-01 19:51:21
阅读次数:
159
Keywords SearchTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 35683Accepted Submission(s): 11520P...
分类:
其他好文 时间:
2014-09-30 01:27:41
阅读次数:
394
Phone ListTime Limit: 3000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 10837Accepted Submission(s): 3735Problem...
分类:
其他好文 时间:
2014-09-29 19:29:22
阅读次数:
145
点击打开链接Xor SumTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 132768/132768 K (Java/Others)Total Submission(s): 291Accepted Submission(s): 151Probl...
分类:
其他好文 时间:
2014-09-29 14:22:10
阅读次数:
136
Trie图的简单应用。这题关键是想出递推式。令d(i)表示从字符i开始的字符串,d(i)=sum{d(i+len(x))},x是s[i...L]的前缀。然后把所有可分解成的单词构造成一颗Trie树,再让母串在上面跑,d[0]即是方案总数。
#include
#include
#include
#include
#define mod 20071027
#define M 400005
using...
分类:
其他好文 时间:
2014-09-26 20:24:47
阅读次数:
179
复杂度:查找O(n),维护O(n),空间O(sum(len[i]))概要:就是每个节点对应一个字母,然后儿子有26个,查找和维护时进入对应儿子即可。应用:在字符串匹配中多模匹配做基础结构;可以对多个字符串维护信息。技巧及注意:只要注意儿子节点该开多大即可。模板请看AC自动机部分
分类:
其他好文 时间:
2014-09-26 15:00:08
阅读次数:
127
秋招快有着落啦,十一月中去北京区赛膜拜众神。
哎,好长一段时间没有刷过,重头拾起,最近得专题是字符串。
Trie前一排又敲了一遍,KMP今天敲了一下。
题目一大堆废话,实际就是判断模式串出现得次数,我是对着算法导论伪代码敲得,一次AC,真得很水。
/***********************************************************
> OS ...
分类:
其他好文 时间:
2014-09-25 01:16:07
阅读次数:
247
一、针对《写在前面》的补充随着对需求的深入了解,最后抛弃了使用trie树,一是这个数据结构不利于处理大小写敏感的问题,二是最后的排序首先是由出现的次数排的,需要对此树进行遍历也不方便编码,遂弃之。二、时间完成文件读取:20分钟正则匹配:1个小时频率分析:4个小时模式二三:2个小时调试与优化:1个小时...
分类:
其他好文 时间:
2014-09-25 00:45:37
阅读次数:
220