字典树的删除操作:
1 没找到直接返回
2 找到叶子节点的时候,叶子节点的count标志清零,代表不是叶子节点了
3 如果当前节点没有其他孩子节点的时候,可以删除这个节点
判断是否需是叶子节点,就检查叶子节点的count标志就可以了。
判断是否有其他孩子节点就需要循环26个节点了,如果都为空,那么就没有其他孩子节点了。
#include
#include
#include ...
分类:
其他好文 时间:
2014-06-03 00:49:49
阅读次数:
279
##回顾比赛开始网络就一直在抽风,不知道宿舍网渣还是有人攻击服务器。刷了n遍n久刷出了题目。提交A小case的时候眼睁睁看着时间过去,却提交不上,这破网。最后A题B题还是解决了,C题扫了一眼,读都没读,就奔D题去了,因为我看到了熟悉的trie这个单词,加之看到小case只有9分,判断小case应该比...
分类:
其他好文 时间:
2014-06-02 07:57:30
阅读次数:
219
题目:http://poj.org/problem?id=1056题意:判断是否有串是其他串的前缀#include#include#include#include#include#include#include#includeusing
namespace std;struct Node{ i...
分类:
其他好文 时间:
2014-05-31 07:46:48
阅读次数:
227
出题:TRIE树 (Trie Tree or Prefix
Tree);分析:又称字典树或者前缀树,一种用于快速检索的多叉树结构;英文字母的Trie树为26叉树,数字的Trie树为10叉树;All the
descendants of a node have a common prefix of t...
分类:
其他好文 时间:
2014-05-26 18:31:06
阅读次数:
297
l链接这题想了好一会呢。。刚开始想错了,以为用自动机预处理出k长度可以包含的合法的数的个数,然后再数位dp一下就行了,写到一半发现不对,还要处理当前走的时候是不是为合法的,这一点无法移到trie树上去判断。之后想到应该在trie树上进行数位dp,走到第i个节点且长度为j的状态是确定的,所以可以根据t...
分类:
其他好文 时间:
2014-05-25 16:12:11
阅读次数:
208
链接这题没想到怎么做,问了下p队长,大悟。。先求出任意两串的在trie树上的最短距离,期间是不能走到不合法的地方,我是用spfa求得,在更新和加入节点时判断一下是不是合法位置。求出最短距离之后,找出一条从0出发遍历所有串的最短距离,可以dp出,dp[i][j]表示当前状态以节点j串结尾的最短距离。枚...
分类:
其他好文 时间:
2014-05-25 15:18:50
阅读次数:
368
链接预处理出来任意两点的距离,然后可以顺着trie树中的节点走,不能走到不合法的地方,另开一维表示走到了哪里,依次来更新。注意判断一下起点是不是合法。 1
#include 2 #include 3 #include 4 #include 5 #include 6 #include ...
分类:
其他好文 时间:
2014-05-25 12:14:33
阅读次数:
223
链接dp[i][j]表示长度为i在节点J的时候的权值最大值,根据trie树转移一下就行,需要每次都取最小的,所以需要另开一数组保存字典序最小的状态。
1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7...
分类:
其他好文 时间:
2014-05-25 11:42:29
阅读次数:
268
题目:
链接:点击打开链接
题意:
给出几组数,判断是否有某组数是另一组数的前缀。
算法:
来源:点击打开链接
字典树:又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来节...
分类:
其他好文 时间:
2014-05-25 07:00:01
阅读次数:
245
字典树Trie
Trie,又称字典树,前缀树(prefix tree),是一种树形结构,用于保存大量的字符串。
它的优点是:利用字符串的公共前缀来节约存储空间。查找、插入复杂度为O(n),n为字符串长度。
它有3个基本性质:
1. 根节点不包含字符,除根节点外每一个节点都只包含一个字符。
2. 从根节点到某一节点,路径上经过的字符连接起来,为该节点对应的字符串。...
分类:
其他好文 时间:
2014-05-24 23:49:57
阅读次数:
346