ACM中常用算法—-字符串ACM中常用的字符串算法不多,主要有以下几种:
Hash
字典树
KMP
AC自动机
manacher
后缀数组
EX_KMP
SAM(后缀自动机)
回文串自动机
下面来分别介绍一下:0. Hash字符串的hash是最简单也最常用的算法,通过某种hash函数将不同的字符串分别对应到不同的数字.进而配合其他数据结构或STL可以做到判重,统计,查询等操作.
#### 字符串的h...
分类:
编程语言 时间:
2015-07-26 12:42:25
阅读次数:
297
传送门:http://http://acm.hdu.edu.cn/showproblem.php?pid=2222
思路:AC自动机入门题,直接上AC自动机即可。
对于构建AC自动机,我们要做的只有三件事:
1)构建字典树
2)构建失败指针
3)构建trie图(这道题好像不做这一步也能A。。。但是这一步不做是会被卡成O(n^2)的。。。)
1)第一步还是比较好理解的...
分类:
其他好文 时间:
2015-07-25 23:06:59
阅读次数:
337
??
字典树
大事记
光影集锦
花絮视频
1 性质
编辑
它有3个基本性质:
根节点不包含字符,除根节点外每一个节点都只包含一个字符;从根节点到某一节点,路径上经过的字符连接起来,为该节点对应的字符串;每个...
分类:
其他好文 时间:
2015-07-25 09:31:14
阅读次数:
148
字典树又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。
它有3个基本性质:
1.根节点不包含字符,除根节点外每一个节点都只包含一个字符;
2.从根节点到某一...
分类:
其他好文 时间:
2015-07-25 00:16:25
阅读次数:
144
就是查找这个单词能不能有两个单词组成,简单的字典树题目//////////////////////////////////////////////////////////////#include#include#includeusingnamespacestd;#definemaxn26struct...
分类:
其他好文 时间:
2015-07-24 20:43:00
阅读次数:
116
Immediate DecodabilityTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 2248Accepted Submission(s): ...
分类:
其他好文 时间:
2015-07-24 12:13:25
阅读次数:
86
题目的意思:给你一篇文章,再给你T个字符串,判断这T个字符串有哪些在文章中出现过。
由于文章很大,普通的方法必定超时,所以需要用 AC自动机算法。
AC自动机算法是多模匹配算法之一,主要是用于在一篇文章中,找出给定的N个单词在这篇文章中出现的个数。
AC自动机算法,我也是刚刚学习,主要是在建立字典树的基础上,增加了失败指针,提高了匹配的效率。而且最难的是失败指针的建立。
它的优点是:最大限...
分类:
编程语言 时间:
2015-07-23 00:49:08
阅读次数:
124
字典树数据结构实现 1 public class Trie { 2 //字典树子节点最多值,任意一个单词都是由,26个字母组成的 3 private int SIZE = 26; 4 //根节点 5 private TrieNode root; 6 ...
分类:
其他好文 时间:
2015-07-22 20:14:54
阅读次数:
91
统计难题
Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131070/65535 K (Java/Others)
Total Submission(s): 22524 Accepted Submission(s): 9490
Problem Description
Ignatius最近遇到一个难题,...
分类:
其他好文 时间:
2015-07-22 16:16:03
阅读次数:
116
字典树:
又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),它的优点是:利用字符串的公共前缀来节约存储空间,最大限度地减少无谓的字符串比较,查询效率比哈希表高。
#define MAX 26
struct Trie
{
Trie *next[MAX];
...
分类:
其他好文 时间:
2015-07-22 13:20:46
阅读次数:
139