使用Trie的insert函数,主要是要灵活修改search函数,使得q...
分类:
其他好文 时间:
2014-08-04 08:19:16
阅读次数:
240
poj 2513 Colored Stickshttp://poj.org/problem?id=2513题意:现在有几个木棒,每个木棒端点都着色,问:能否将它们排成一排,同时要满足相邻的的两端点颜色是一样的。trie+并查集+欧拉通路方法:要想排成一排,可以变向的理解为从一个图里找到一个欧拉通路(...
分类:
其他好文 时间:
2014-08-03 12:31:15
阅读次数:
254
题目是牛仔裤的意思,不过看不出题意和Blue Jeans有什么关系。
本题的数据是很水的,数据量小,故此可以使用非常暴力的方法过,也可以使用不那么暴力的KMP过。
这里使用更加不暴力的Trie后缀树过,这种解法就一点都不水了,呵呵。
思路:
1 建立所有字符串的后缀Trie树
2 增加额外信息,看每过路径是否是所有的字符串都经过了,如果是,那么就是合法的字符串了,查找最长的这样的字符串...
分类:
其他好文 时间:
2014-08-03 10:21:21
阅读次数:
239
UVA 11488 - Hyper Prefix Sets
题目链接
题意:给一些01串,定义一个P(s)表示:拥有相同长度前缀的字符串个数 * 该前缀长度,求最大的P(S)
思路:Trie,建好Trie树后dfs一遍记录答案最大值
代码:
#include
#include
#include
using namespace std;
const int SI...
分类:
其他好文 时间:
2014-08-02 18:25:04
阅读次数:
202
被这样的题目忽悠了,一开始以为使用Trie会大大加速程序的,没想到,一不小心居然使用Trie会超时。
最后反复试验,加点优化,终于使用Trie是可以过的,不过时间大概难高于1500ms,一不小心就会超时。
看来这是一道专门卡Trie的题目,只好放弃不使用Trie了。
也得出点经验,如果字符串很多,如本题有1万个字符串的,那么还是不要使用Trie吧,否则遍历一次这样的Trie是十分耗时的,2s...
分类:
其他好文 时间:
2014-08-02 15:30:03
阅读次数:
245
本文分为5部分。我从思考的角度,由浅到深带你认识Trie数据结构。 1.桶状哈希表与直接定址表的概念。 2.为什么直接定址表会比桶状哈希表快 3.初识Trie数据结构 4.Trie为什么会比桶状哈希表快 5.实际做实验感受下Trie , std::map , std::unordered_...
分类:
其他好文 时间:
2014-08-02 15:09:33
阅读次数:
253
poj 2418 Hardwood Specieshttp://poj.org/problem?id=2418trie树+dfs题意: 给你多个单词,问每个单词出现的频率。方法:通过字典树,将所有单词放入树中,通过dfs遍历(题目要求按ASSIC码顺序输出单词及其频率),dfs可满足注意:单词中.....
分类:
其他好文 时间:
2014-08-02 09:59:23
阅读次数:
237
本文乃Siliphen原创。转载请注明出处:http://blog.csdn.net/stevenkylelee
先考虑一下这个问题:如何统计5万个0-99范围的数字出现的次数?
可以用哈希表来进行统计。如下:
// 生成5万个0-100范围的随机数
int * pNumbers = new int[ 50000 ] ;
for ( int i = 0 ; i < 5000...
分类:
其他好文 时间:
2014-08-02 07:42:53
阅读次数:
369
字典树(讲解+模版)又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来节约存储空间,最大限度地减少无谓的字符串比较,查询效率比哈希表高。字典树与字典...
分类:
其他好文 时间:
2014-08-01 22:48:12
阅读次数:
416
题目地址:Colored Sticks题目大意: 给你多个木棒,每个木棒的两头分别着色,使所有木棒首尾排成一条直线,相互接触的端点颜色必须是相同的,问你有没有这种可能性。解题思路: 先是利用trie树将所给的所有颜色字符串标序。因为是每个木棒只能用一次,简单看成一个木棒的首尾相当于图中的一条连线,....
分类:
其他好文 时间:
2014-08-01 19:19:12
阅读次数:
212