题目链接:http://www.spoj.com/problems/COT3/Alice and Bob are playing a game on a tree of n nodes.Each node is either black or white initially.They take tu...
分类:
其他好文 时间:
2015-02-01 23:19:06
阅读次数:
986
昨天看了meituan.com的AC算法在美团上单系统的应用一文,深受启发,原来ACM算法在工程中也能有这样赤裸裸的运用~~~ 于是便复习了AC自动机,并把代码用java重新搞了一遍~~
AC自动机整体的结果大概是长这样的,其实就是在trie树上做KMP :
AC自动机里面比较难理解的应该是它的失配指针的计算过程。
这个计算过程从本质上讲就是进...
分类:
其他好文 时间:
2015-02-01 16:08:56
阅读次数:
315
比较裸的最小生成树题目。开始打完RE了,检查了一个晚上字典树代码。后来发现是存映射字符串的arr开小了。出题人说的3000个单词指的是后面的文章中的句子。我理解成查找的映射只有3000个,后来开到50000也RE,开到500000,才通过。...
分类:
其他好文 时间:
2015-01-30 22:45:52
阅读次数:
261
题意:输入一些字符串,遍历这些字符串,如果它是由这些字符串中另外两个字符串组合而成,输出这个串。做法:将所有字符串插入Trie树中,然后分割字符串,遍历所有可能性。题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1247题目:Hat’s WordsTim...
分类:
其他好文 时间:
2015-01-28 23:44:37
阅读次数:
262
Trie树,又被称为前缀树。
它查询的基本原理是通过当前字的下一个字定位到其子节点。如果我们限制所有有效的输入仅是普通的英文字母,那么它最多会有52个子节点。我之前见过的一种做法就是一旦插入产生第一个子节点, 所有52个节点会同时生成。这种做法的好处是查询速度非常快, 因为直接通过输入的字符就直接可以定位到子节点。缺陷也非常的明显, 即是上述的应用场景都会造成严重的空间浪费.。如果我们把...
分类:
其他好文 时间:
2015-01-28 13:07:00
阅读次数:
127
题解:这题搞得我真是酸(dan)爽(teng)原来一直不会,一定会用到什么神奇的东西。因为重复的不知道如何计算。今天中午睡起来忽然想到好像可以在正trie上故意走无出边,因为这样就保证了这次统计的所有字符串在它的孩子都不会再次被统计到。然后感觉这题就解了。然后和别人的程序对拍发现居然一直少计算了什么...
分类:
其他好文 时间:
2015-01-24 23:59:02
阅读次数:
316
实现功能——实现对于不同字符串以及之前出现过的字符串的识别,对于单个长度为L的字符串,复杂度为O(L);代码不难懂,直接上(在识别字符串方面,个人觉得其好处远远大于hash识别——1.理论上都是O(L) 2.哈希弄不好撞车撞一大串,尤其是哈希策略不太好的时候,而这个绝对不可能撞,严格的O(L) 3....
分类:
编程语言 时间:
2015-01-22 01:37:12
阅读次数:
210
ATime Limit: 60ms Memory limit: 65536K有疑问?点这里^_^题目描述给出n(1#include #include struct Trie{ int flag; struct Trie *next[26];}*temp;struct Trie *newnode(){...
分类:
其他好文 时间:
2015-01-21 21:51:15
阅读次数:
174
#1014 : Trie树时间限制:10000ms单点时限:1000ms内存限制:256MB描述小Hi和小Ho是一对好朋友,出生在信息化社会的他们对编程产生了莫大的兴趣,他们约定好互相帮助,在编程的学习道路上一同前进。这一天,他们遇到了一本词典,于是小Hi就向小Ho提出了那个经典的问题:“小Ho,你...
分类:
其他好文 时间:
2015-01-21 20:04:07
阅读次数:
149
题目链接:https://www.facebook.com/hackercup/problems.php?pid=313229895540583&round=344496159068801题目大意:自己看去(其实我也说不清)裸的Trie树,直接看是否存在必须插入的节点。代码写的太挫了。。将就着看吧。...
分类:
其他好文 时间:
2015-01-20 15:34:13
阅读次数:
144