动态字典树每次都要new一个内存来操作,所以耗时也是较多的;所以我们可以先一次性开辟出足够的空间,然后模拟动态字典树的创建查找过程来写出相应的静态字典树。代码都差不多,主要是你得先学会了动态字典树;接下来的事情就是模拟了,,,模拟,,模拟。结构定义:struct Trie{ int...
分类:
其他好文 时间:
2015-03-13 15:50:56
阅读次数:
283
定义:又称字典树或单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希表高。
性质:它有3个基本性质:
(1)根节点不包含字符,除根节点外每一个节点都只包含一个字符;
(2)从根节...
分类:
其他好文 时间:
2015-03-12 22:39:46
阅读次数:
199
本文转自于:http://www.cnblogs.com/tanky_woo/archive/2010/09/24/1833717.html代码部分有改动。 字典树: 又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),.....
分类:
其他好文 时间:
2015-03-12 22:05:08
阅读次数:
195
Repository
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 2656 Accepted Submission(s): 1040
Problem Description
When you go sho...
分类:
其他好文 时间:
2015-03-07 17:13:20
阅读次数:
129
A
简单题
B
简单题
C
求改变一个字母的单词是否出现过
字典树+dfs
D
k次射击 每次可以把一列都减小1 总共m列 m列都为0就被破坏掉 问最多连续多少个被破坏掉
二分答案 在用数据结构询问某一段的最大值
E
每个节点都n个儿子 并且距离告诉你 无限延伸 问你距离根不超过x的节点有几个
dp[i]为距离根i的数量 dp[i] = dp[i-1]*sum[1]+dp[...
分类:
其他好文 时间:
2015-03-07 15:45:23
阅读次数:
122
题意还是很简单的,我们可以用dfs穷举出所有可能的名字;重要的是查询名字是不是合法,开始的时候用的map,没想到超时了;于是后面用的字典树,其实应该也可以用二分进行查找。另外好像USACO对内存限制很严,数组不能开太大。代码如下:/*
ID: 15674811
LANG: C++
TASK: namenum
*/#include
#include
#include...
分类:
其他好文 时间:
2015-03-07 15:42:22
阅读次数:
120
Xor Sum
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 132768/132768 K (Java/Others)
Total Submission(s): 457 Accepted Submission(s): 231
Problem Description
Zeus 和 Prometheus 做了...
分类:
其他好文 时间:
2015-03-06 17:06:19
阅读次数:
175
题意:已知:给出n个结点的树,定义:两结点间的权值为两点之间所有边相异或的值.求:树中的某两点间的最大权值.
思路:先说简单一点的题:有道CowXor,是一串线性序列,求某连续段异或的最大值,这题的思路是先求前i项序列相异或的值Si,所以x到y的连续异或就是Sx^Sy ,因为a^b = (a ^ c) ^ (b ^ c).
这题同样是这个思路把线性拓展到树上,先求任何点到某一定点的连续...
分类:
编程语言 时间:
2015-03-01 13:17:12
阅读次数:
160
今天就这题照着别人的代码学了字典树...
这篇论文:http://wenku.baidu.com/view/d2ba836fb84ae45c3b358ca8.html介绍了各种字典树的运用,长了好多姿势,很有启发性
归纳一下字典树的应用:
检索(主要功能)
串排序
在DP中减少无效的状态转移
最长公共前缀问题(LCP)转化成LCA
tire+KMP 构成AC自动机数据结构
...
分类:
其他好文 时间:
2015-02-28 08:57:53
阅读次数:
165
题意:输入众多字符串(中间有空格),按字典序输出,且输出每个字符串所占整个字符串数量的百分比
思路:用字典树的先序遍历,遍历到字符串的末尾便输出并算出百分比即可
这题同样用C++stl map 可以很好解决,但毕竟题目是字典序,比如逆序就字典树同样可以解决
//1632K 782MS
#include
#include
#include
#include
using namespace st...
分类:
编程语言 时间:
2015-02-28 08:55:35
阅读次数:
168