Trie树
_pkm_
love coding
展开
-
HDU 4825 Xor Sum(字典树 经典应用,求一个数与其他数xor最大)
题目链接 求xor值是字典树的一个经典的应用,首先我们把数用二进制表示,然后存在字典树里面,从高位到低位的存,然后查找的时候我们走不同的边(这样xor的结果会是1),如果没有不同边,那就走这个相同的边好了。题意:给你n个数,然后再给你m询问,每次询问是找到n个数里面与这个数的xor最大的那个数。 解法:xor就可以想到用字典树了,把数拆分为二进制,然后建立字典树,接着在字典树上跑。#inc原创 2015-11-23 13:28:29 · 686 阅读 · 0 评论 -
HDU 5536 Chip Factory(字典树+经典应用)
题目链接题意:给你n个数,问你max(a[i]+a[j])xora[k]的值,(i!=j!=k)解答:这道题目和这道题基本上是一样的,但是这里要求三个数是不一样的 ,所以我们需要增加一个val数组,标示该位置是不是可以使用。#include#include#include#include//#includeusing namespace std;#define LL lon原创 2015-11-23 14:48:16 · 388 阅读 · 0 评论 -
HIHO Trie树入门练习
题目链接给出很多的串,然后有很多的询问,每次询问需要回答,以这个串为前缀的单词有几个。把单词建立成字典树,插入的单词的时候,统计每个字符节点经过几次,然后询问的时候,直接查询,没有这个前缀就是0,否则就是f[now]即可空间的取值,假设n个串,每个长度不大于x,最坏的情况也就是n*x个空间就够了#include<cstdio>#include<algorithm>#include<iostre原创 2016-08-07 09:01:48 · 307 阅读 · 0 评论