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
题意:
给出一个长度为n的初始序列,和m次操作;
A操作:在序列后面加入一个数;
Q操作:给出一段区间[l,r]和一个数x,求区间中的p使p的后缀异或和与x的异或值最大;
n,m
题解:
可持久化数据结构(2/4)进行中... ...
先做一个转化,因为是在序列后面加数,维护后缀和并不容易;
但是由于异或性质可以转化成前缀和的问题;
也就是在区间中选一个数,使其与另一...
分类:
其他好文 时间:
2015-07-25 18:35:02
阅读次数:
160
题意:
给出一个有权树,求树上两点路径的最大异或和;
n
题解:
考虑异或的性质,如果任选一点为根,处理出所有点的异或深度;
那么将两点的深度异或起来,LCA到根的路径就异或了两次相当于没有;
所以异或距离就是两点异或深度的异或和,问题就转化成了从n个数中选两个数使异或和最大;
这个经典问题就可以把数字按位存进01trie树,从高位到低位贪心求解;
复杂度O(31n);
...
分类:
其他好文 时间:
2015-07-25 09:34:21
阅读次数:
109
题意:
给出一个字符串,求出现次数超过1的子串的出现个数;
字符串长度
题解:
题目问的是子串的个数,那么首先我们要找到所有的子串;
而字符串的所有后缀的前缀可以不重不漏的表示所有子串;
那么如果将所有的后缀加入trie树,每个经过的结点——也就是这个后缀的前缀——计数+1;
然后题目要求按字典序输出,利用一下trie树性质搞好就完了;
指针版trie好慢啊。。。
...
分类:
其他好文 时间:
2015-07-25 09:31:21
阅读次数:
113
??
字典树
大事记
光影集锦
花絮视频
1 性质
编辑
它有3个基本性质:
根节点不包含字符,除根节点外每一个节点都只包含一个字符;从根节点到某一节点,路径上经过的字符连接起来,为该节点对应的字符串;每个...
分类:
其他好文 时间:
2015-07-25 09:31:14
阅读次数:
148
相当于模板题了,用trie来完成字符串到数字的映射比map要快不少,令外可以考虑hash。运行时间对比:(1)(2)600ms左右 (3)3000ms左右(4)1500ms左右(1)O(n^2)的dijkstra:1234567891011121314151617181920212223242526...
分类:
其他好文 时间:
2015-07-25 08:17:43
阅读次数:
206
字典树又称单词查找树,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