摘要: 摘自《算法竞赛进阶指南》。 线段树是一种基于分治思想的二叉树结构,用于在区间上进行信息统计。 线段树的基本特征:1.线段树的每个节点都代表一个区间。2.线段树具有唯一的根节点,代表的区间是整个统计范围,如[1,N]。3.线段树的每个叶节点都代表一个长度为1的元区间[x,x]。4.对于每个内部节点[l 阅读全文
posted @ 2019-11-08 19:39 小仙女本仙 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 摘自《算法竞赛进阶指南》。 数论 1.质数 质数的判定 试除法 bool is_prime(int n){ for(int i=2;i<=sqrt(n);i++) if(n%i==0)return false; return true; } 质数的筛选 (1).Eratosthenes筛法 void 阅读全文
posted @ 2019-11-07 11:00 小仙女本仙 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 位运算 基本的算术位运算: 与 或 非 异或 and,& or,| not,~ xor 补码 32位无符号整数unsigned int: 直接把这32位编码C看作32位二进制数N。 32位有符号整数int: 以最高位为符号位,0表示非负数,1表示负数。 对于最高位为0的每种编码C,直接看作32位二进 阅读全文
posted @ 2019-09-22 11:15 小仙女本仙 阅读(509) 评论(0) 推荐(0) 编辑
摘要: 一、硬件 计算机发展: 年代 元件 第一代 1946~1958 电子管 第二代 1959~1964 晶体管 第三代 1965~1970 集成电路 第四代 1971~? 大规模集成电路 世界上第一台计算机:ENIAC (1946.2,美国宾西法尼亚大学) 冯诺依曼理论(美籍匈牙利数学家) ①采取二进制 阅读全文
posted @ 2019-09-12 22:17 小仙女本仙 阅读(3734) 评论(5) 推荐(8) 编辑
摘要: 我们的问题是: 给出一棵二叉树的先序遍历与中序遍历,如何构建出这棵二叉树呢? 我们知道,二叉树的先序遍历遍历的第一个点一定是根节点,所以根节点一定是A。 在中序遍历中,根节点一定是在最中间的,所以中序遍历中A左边的节点都在A的左子树上,右边的节点都在A的右子树上。 那么我们就衍生出了一个子问题: 若 阅读全文
posted @ 2019-08-17 15:34 小仙女本仙 阅读(769) 评论(1) 推荐(0) 编辑
摘要: 假设我们现在拿到了一个非常大的数组,对于这个数组里面的数字要反复不断地做两个操作。 1、(query)随机在这个数组中选一个区间,求出这个区间所有数的和。 2、(update)不断地随机修改这个数组中的某一个值。 时间复杂度: 枚举: 枚举L~R的每个数并累加。 query:O(n) 找到要修改的数 阅读全文
posted @ 2019-08-16 15:55 小仙女本仙 阅读(2116) 评论(4) 推荐(5) 编辑