抱佛脚... 首先想到查找第K大的异或值可以按为确定,方法类似平衡树查第K大 然后,就跑到前缀和上去死磕了... 然而明明一颗可持久化trie树就可以解决的... 然后n*p*32^2过了以后表示老夫怎么这么慢阿,,,于是发现别人是n*p*32的,每次记下来就好,不用再跑一遍的... 1 #incl ...
分类:
其他好文 时间:
2016-05-29 10:57:50
阅读次数:
228
Trie树,又称单词查找树或键树,是一种树形结构,是一种哈希树的变种。 典型应用是用于统计和排序大量的字符串(但不仅限于字符串), 所以经常被搜索引擎系统用于文本词频统计。 优点 利用字符串的公共前缀来节约存储空间,最大限度的减少无谓的字符串比较,查询效率比哈希表高。 比如说我们想储存3个单词,sk ...
分类:
其他好文 时间:
2016-05-25 00:15:34
阅读次数:
329
很多时候以为自己能记得做过的题目,可是实际上做过了几乎就不记得了。。。。。。。sad,于是还是记录一下吧。 题目: 对于小Hi的每一个询问,输出一个整数Ans,表示词典中以小Hi给出的字符串为前缀的单词的个数。 对于小Hi的每一个询问,输出一个整数Ans,表示词典中以小Hi给出的字符串为前缀的单词的 ...
分类:
其他好文 时间:
2016-05-23 10:35:56
阅读次数:
148
HDU 5687 Problem Description 度熊手上有一本神奇的字典,你可以在它里面做如下三个操作: 1、insert : 往神奇字典中插入一个单词 2、delete: 在神奇字典中删除所有前缀等于给定字符串的单词 3、search: 查询是否在神奇字典中有一个字符串的前缀等于给定的字 ...
分类:
其他好文 时间:
2016-05-20 17:13:01
阅读次数:
176
一. 题目 487-3279 Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 274040 Accepted: 48891 Description Businesses like to have memorable telepho ...
分类:
编程语言 时间:
2016-05-18 23:30:47
阅读次数:
286
题意:对单词根据前缀进行插入,插入,和查询操作,查询的话存在即可。 因为之前几乎没怎么做过类似的题,再加上这次做的时候,对题意理解的不到位,所以错了很多次,以后要先把题意理解透彻再敲代码,这样会避开之后修改的很多不必要的细节错误。 思路:Trie树,root根节点通过next指针数组连接着26个相同 ...
分类:
其他好文 时间:
2016-05-16 09:23:36
阅读次数:
176
关于AC自动机
AC自动机:Aho-Corasickautomation,该算法在1975年产生于贝尔实验室,是著名的多模匹配算法之一。一个常见的例子就是给出n个单词,再给出一段包含m个字符的文章,让你找出有多少个单词在文章里出现过。要搞懂AC自动机,先得有模式树(字典树)Trie和KMP模式匹配算法的基础知识。AC自动机算法分为3步:构造一棵Trie树,构造失败指针和模式匹配过...
分类:
编程语言 时间:
2016-05-13 01:03:33
阅读次数:
286
Implement a trie with insert, search,
and startsWith methods.
Note:
You may assume that all inputs are consist of lowercase letters a-z.
在Trie树中主要有3个操作,插入、查找和删除。一般情况下Trie树中很少存在删除单独某个结点的情况,因此只...
分类:
其他好文 时间:
2016-05-12 22:07:39
阅读次数:
328
SCU - 4494
给定两个序列,问从两个序列中各取一个值的异或和最大为多少
把 A序列中的数字看成一个二进制的 01串,然后存到 Trie树里
然后将 B序列的数字同样看成一个 01串,然后在 Trie树上从高位到低位贪心地查找
如果B序列中查找的 01串当前位为 0,则找 Trie树上为 1的子儿子
否则就只能走为 0的右儿子,反之亦然,然后往下走
时间复杂度 O(N)#inclu...
分类:
其他好文 时间:
2016-05-12 15:52:15
阅读次数:
224