hdu 4825 题目链接题意:给定n个数,然后给出m个询问,每组询问一个数x,问n中的数y使得x和y的异或和最大。思路:字典树。。把每个数转化成二进制,注意补全前导0,使得所有数都有相同的位数。如果想要异或和最大,那么每一位尽可能都是1.所以做法是,先构建字典树,然后每次find的时候,尽可能按照... ...
分类:
其他好文 时间:
2020-03-01 14:32:31
阅读次数:
69
二分搜索树 6-1 为什么要研究树结构 树结构 为什么要有树结构? 树结构本身是一种天然的组织结构 高效 将数据使用树结构存储后,出奇的高效。 二分搜索树(Binary Search Tree) 平衡二叉树:AVL;红黑树 堆;并查集 线段树;Trie(字典树,前缀树) 6-2 二分搜索树基础 和链 ...
分类:
其他好文 时间:
2020-02-23 20:26:55
阅读次数:
82
"? ? ?" 刚开始WA了,数组又开小了,,关于字典树大小的问题, 考虑如果每一个字符都能生成新结点,那么字典树大小就是MAXN LEN ,本题目中数据是1=0; k) { int tmp=((x&(1ll=0; k) { int tmp=((x&(1ll n; rpp(i,n) { cin a[ ...
知识点:字典树。 题目链接: https://ac.nowcoder.com/acm/contest/4370/B 题意:t组数据,n个数字,问是否满足不存在任何一个数字是其他数字的前缀。 题解:套用字典树一个一个插入字符串。若在插入过程中遇到如下两种情况,则存在其中一个是另一个的前缀。 1.遍历完 ...
分类:
其他好文 时间:
2020-02-20 13:18:03
阅读次数:
80
字典树 Description 遇到单词不认识怎么办? 查字典啊,已知字典中有n个单词,假设单词都是由小写字母组成。现有m个不认识的单词,询问这m个单词是否出现在字典中。 Input 含有多组测试用例。 第一行输入n,m (n>=0&&n<=100000&&m>=0&&m<=100000)分别是字典 ...
分类:
其他好文 时间:
2020-02-17 19:54:32
阅读次数:
100
Algorithm 基本数据结构: "Trie(字典树)" "贪心" "高精度" "位运算" "C++STL" 数据结构进阶: "线段树" 数论: "康拓展开 & 逆康拓展开" 图论: "图论 二分图" "图论 最短路" "图论 最小生成树" "图论 Tarjan" "图论 树的直径" Contes ...
分类:
其他好文 时间:
2020-02-17 17:46:07
阅读次数:
50
如图为一颗字典树,该树插入了7个单词,abc,abcd,b,bcd,efg,hij 字典树模板: 1 #include <bits/stdc++.h> 2 using namespace std; 3 const int maxn=2e6+5; // Trie 树上的最大结点数 4 5 int to ...
分类:
其他好文 时间:
2020-02-13 21:19:41
阅读次数:
52
字典树,即Trie树,又称单词查找树或键树,是一种树形结构。典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:最大限度地减少无谓的字符串比较,查询效率比哈希表高。 //leetcode submit region begin(Prohibi ...
分类:
其他好文 时间:
2020-02-07 12:49:56
阅读次数:
73
这道题目很难想到是字典树,如果不是放在字典树单元的话.简单来说,一个整数,是可以转化成为一个32位的二进制数,而也就可以变成长度为32位的二进制字符串.既然如此的话,根据二进制异或的原理:不同得1,否则得0,假如想让这个数字最大,我们就需要使得这个数的二进制表示中从左往右尽可能的取到1,也就是尽量的 ...
分类:
编程语言 时间:
2020-02-06 16:36:25
阅读次数:
98