题意: 给你一个文本串,和一些模式串,每个模式串都有一个价值,让你选一些模式串来组成文本串,使获得的价值最大。每个模式串不止能用一次。思路: 多重背包,枚举文本串的每个位置和模式串,把该模式串拼接在当前位置,看下一个位置是否能得到更优值。但是,存在很多模式串不能拼在当前位置的,无效状态。所以可以.....
分类:
其他好文 时间:
2014-12-01 19:00:36
阅读次数:
228
题目链接:http://poj.org/problem?id=3764分析:好题!武森09年的论文中有道题CowXor,求的是线性结构上的,连续序列的异或最大值,用的办法是先预处理出前n项的异或值,然后在这些值中找出两个值的异或值最大。是基于这样的一个原理,相同段的异或值为0。这题在树中找两个节点,...
分类:
其他好文 时间:
2014-11-30 16:47:12
阅读次数:
215
#1014 : Trie树Time Limit:10000msCase Time Limit:1000msMemory Limit:256MB描述小Hi和小Ho是一对好朋友,出生在信息化社会的他们对编程产生了莫大的兴趣,他们约定好互相帮助,在编程的学习道路上一同前进。这一天,他们遇到了一本词典,于是...
分类:
其他好文 时间:
2014-11-29 00:06:12
阅读次数:
314
本题是trie树模板题,如果不用trie而用map写可以看出trie处理这类问题有明显的时间优势。在trie树中查找一个关键字的时间和树中包含的结点数无关,而取决于组成关键字的字符数。(对比:二叉查找树的查找时间和树中的结点数有关O(log2n)。)如果要查找的关键字可以分解成字符序列且不是很长,利...
分类:
其他好文 时间:
2014-11-28 06:17:45
阅读次数:
189
简单的字典树应用,在建树的时候判断就行了。需要注意的语法:在使用malloc和free来处理动态内存的时候,仅仅是释放了这个对象所占的内存,而不会调用这个对象的析构函数;使用new和delete就可以既释放对象的内存的同时,调用这个对象的析构函数。所以建立trie时用new更方便一些。注意要每组数据...
分类:
其他好文 时间:
2014-11-28 06:15:59
阅读次数:
171
题目大意:给一些病毒字符串,问一些网址中有哪些病毒。
思路:AC自动机挺裸的题,但是听说Trie图还好写,时间还快,以后就不写AC自动机了,直接啥题都上Trie图吧。
注意:此题输出结尾要加回车,否则会PE!
CODE:
#include
#include
#include
#include
#include
using namespace std;
str...
分类:
其他好文 时间:
2014-11-27 12:53:05
阅读次数:
187
字典树,又称为字母数,前缀树等等,不仅可以存储字符,还可以存储数字等,
又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来节约存储空间,最大限度地减少无谓的字符串比较,查询效率比哈希表高。
字典树与字典很相似,当你...
分类:
其他好文 时间:
2014-11-27 01:39:23
阅读次数:
202
trie,又称前缀树或字典树. 它利用字符串的公共前缀来节约存储空间.
定义
Trie树中每个单词都是通过character by character方法进行存储,相同前缀单词共享前缀节点.
可以看到,每条路径组成一个单词.上面这颗树存了to/tea/ted/ten/inn这些词.
性质
(1)根节点不包含字符,除根节点外的每个节点只包含一个字符。(2)从根节点到...
分类:
编程语言 时间:
2014-11-24 17:20:14
阅读次数:
219
题意:一棵 n 个结点的树,树边有权值w(0
题目链接:http://poj.org/problem?id=3764
——>>取0为根,预处理出所有结点到根的异或xOr[i]。那么结点 a 与结点 b 之间的路径异或就是xOr[a] ^ xOr[b]。。
权值 w 最多31位,于是,将每个xOr的二进制表示从高位到低位插入到 01 Trie中(0为0,非0为1)。。
查询时从高位开始贪心...
分类:
其他好文 时间:
2014-11-22 10:40:33
阅读次数:
230
题目大意:给出一些单词,和一些句子,当且仅当句子可以分割成的子串都可以被词典翻译,就说明这个子串是可以被翻译的。求最长的可以被翻译的前缀长度。
思路:利用Trie树来刷数组,能够刷到的最长的地方就是这个串最长可以翻译到的地方。
PS:在BZOJ上Trie居然比AC自动机快,我的渣代码都刷到第一篇了。。。
CODE:
#include
#include
#includ...
分类:
编程语言 时间:
2014-11-20 18:49:12
阅读次数:
286