12 2017 档案
摘要:trie经常用来存储大量的字符串,以供以后的快速查找。这里主要介绍01字典树,专门来存储大量的整数。除根节点外,所有的其他节点都存储0或者1。因此,从根节点到叶子节点的路径就是一个完整的二进制整数。在代码上,我们通常使用一个二维数组来表示这个数据结构,trie[MAXN][2]。用trie[i]表示
阅读全文
摘要:线段树是经常使用完全二叉树来实现,也就是使用一个数组来表示(0号元素通常不做使用)。线段树的叶子节点存储的是实际的数据,而非叶子节点存储的是该节点对应区间的信息(比如该区间的最值,求和等)。举例说明,假如非叶子节点存储区间的最小值,数据为[2,5,1,4,9,3],则可以构造出的线段树如下: 更一步
阅读全文
摘要:这里总结了Leetcode中两道关于DFS的题 1. Combination Sum:https://leetcode.com/problems/combination-sum/#/description 按照例题的数据,假设给定的集合为{2,3,6,7},目标值是7。直观来看,它的搜索空间是一棵树
阅读全文
摘要:题目:有若干堆石子,每堆石子的数量都是有限的,合法的移动是“选择一堆石子并拿走若干颗(不能不拿)”,如果轮到某个人时,所有的石子堆都已经被拿空了,则判负。 首先介绍xor运算。xor满足交换律,结合律,消去律,并且与自己本身互为逆运算。根据这个性质可以将swap函数写为 void swap(int
阅读全文