字典树/01字典树
Anxdada
多读书多看报, 少吃零食多睡觉
展开
-
字典树的小理解兼模板
好的博客讲解 首先字典树是干嘛的…. 比如: 1、给出n个单词和m个询问,每次询问一个单词,回答这个单词是否在单词表中出现过。答:简单!map,短小精悍。好。下一个2、给出n个单词和m个询问,每次询问一个前缀,回答询问是多少个单词的前缀。答:map,把每个单词拆开。judge:n<=200000,TLE!这就需要一种高级数据结构——Trie树(字典树)复杂度为...原创 2017-06-22 16:58:13 · 298 阅读 · 0 评论 -
HDU 1251 统计难题 【字典树模板题】
传送门 // 中文题意不多BB. 就是输入有点难处理…. 而且他并没有告诉我们单词的数量, 所以范围需要开到4e5才能过, 然后用map直接标记按理说是很有可能T的, 但是这道题的数据有问题, map可以水过, 但是正解是字典树, 所以我们还是要学习正解呀…. 像这种在许多串中统计前缀(后缀), 等数量的一般都是用字典树…..AC Codeconst int maxn = 4e5+...原创 2018-03-08 17:15:13 · 257 阅读 · 0 评论 -
HDU 1671 Phone List 【字典树】
传送门 // 题意: 给定一系列的电话号码, 问是否在某个人在打电话的时候会冲突, 即是否有个人在按电话的时候它的电话前缀是其他某个人的电话号码. // 这种题一看数据只有1e4, 感觉map可以过, 直接一发, 但是T了, 所以就只要用字典树啦~~~ 主要是判断当前插入的这个字符串的前面几个字符组成的字符串是不是某个号码的前缀, 以及其本身是不是某个号码的前缀…. 复杂度O(1e5)....原创 2018-03-08 17:21:45 · 199 阅读 · 0 评论 -
01 字典树模板 求XOR最大值
大致题目: 有一n个数, 给定一些询问, 每次询问一个数, 问这n个数中与询问的这个数XOR起来最大的那个数是多少. 或者与这n个数中异或起来的最大值是多少…… 等等…. (相当于求取两个数异或起来的最大值是多少, 这样就可以暴力一个, 01字典树找另外一个)思想: 主要是从一个二进制位上面去考虑这个问题, 因为两个数异或起来要尽量的大, 那么肯定肯定异或的对应位置尽量是相反的, 即0 尽量和...原创 2017-07-20 10:45:17 · 542 阅读 · 0 评论 -
POJ-3764 The xor-longest Path 【思维 + 01字典树】
传送门题意: 给定一棵带权树,求树上一条简单路径,经过的边异或值最大.思路:任意一条u-&gt; v的路径f(u, v) = f(1, u) ^ f(1, v), 所以我们可以把从1出发到某个点的异或值全部算出来,然后问题就变成了从这些值中选择两个数异或最大,那么就是01字典树的问题了,所以就解决了. 还是注意字典树内存问题AC Codeconst int maxn = 1e5 + 5;...原创 2018-10-25 19:34:10 · 303 阅读 · 0 评论