摘要: 区间更新和懒惰标记的线段树 前言 普通版本的线段树进行的是 单点更新 和 区间查询 . 对于带有 懒惰标记 的线段树, 则可以进行 区间更新 . 懒惰标记的意义 代表了这个结点的值已经被更新过了, 但是没有进行子树的结点值更改操作, 用lazy数组标记一下. 所以, 每次进行值的更新和查询操作, 每 阅读全文
posted @ 2017-10-30 21:28 1pha 阅读(1419) 评论(0) 推荐(1) 编辑
摘要: 线段树 介绍 最基本的线段树拥有 单点更新(OlogN) 和 区间查询(OlogN) 的良好性质. 他的核心思想将一个 区间 不断地 进行二分 , 减少运算量. 基本思路 使用数组存储线段树中各个点的具体值, 若一个结点的下标为rt, 则他的左儿子下标为 rt full binary tree (s 阅读全文
posted @ 2017-10-30 20:54 1pha 阅读(1562) 评论(0) 推荐(1) 编辑
摘要: Efficient program to print all prime factors of a given number 快速求得一个数字的所有素因子 前言 对于求一个数 n 的所有质因子, 通常是在 [2, sqrt(n)] 的范围内枚举 i , 看是否能够整除, 如果可以则输出 i 以及 n 阅读全文
posted @ 2017-10-29 12:57 1pha 阅读(5661) 评论(1) 推荐(0) 编辑
摘要: Prime Factorization using Sieve O(log n) for multiple queries 使用筛法在 O(logN) 的时间内查询多组数的素数因子 前言 通常, 我们使用 O(n ^ 2) 的两层循环来进行打表, 记录一个数字是否为素数, 再使用 O(n) 的循环来 阅读全文
posted @ 2017-10-29 12:57 1pha 阅读(260) 评论(0) 推荐(0) 编辑