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
查找(二)
散列表
散列表是普通数组概念的推广。由于对普通数组可以直接寻址,使得能在O(1)时间内访问数组中的任意位置。在散列表中,不是直接把关键字作为数组的下标,而是根据关键字计算出相应的下标。
使用散列的查找算法分为两步。第一步是用散列函数将被查找的键转化为数组的一个索引。
我们需要面对两个或多个键都会散列到相同的索引值的情况。因此,第二步就是一个处理碰撞冲突的过程,...
分类:
其他好文 时间:
2014-05-22 13:27:19
阅读次数:
421
1.Trie树简介
Trie树,又称字典树、前缀树,被用于信息检索(information retrieval)的数据结构。Trie一词便来自于单词retrieval。基本思想:用字符串的公共前缀降低查询时间。比如,在最优的查询二叉树中查询关键字的时间复杂度为M * log N,M是字符串最大长度,N为字符串数量;而用Trie树时,只需O(M)时间。
[1] 中给出一个简单...
分类:
其他好文 时间:
2014-05-15 23:36:16
阅读次数:
394
什么叫Trie树?Trie树即字典树。又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希...
分类:
其他好文 时间:
2014-05-09 12:43:02
阅读次数:
437
接触Trie树是在选拔赛时候遇到一题目,TLE无数次依然无解,赛后发现字符串统计有一利器名曰“字典树”,后来花了一段时间去写Trie.
什么叫Trie树?
Trie树即字典树。
又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时...
分类:
其他好文 时间:
2014-05-07 07:05:09
阅读次数:
351