数据结构
沛霖
这个作者很懒,什么都没留下…
展开
-
关于树状数组的两种最基本的用法
首先,介绍一个树状数组的核心——low_bit[maxn]数组 先介绍这个数组怎么算的: low_bit[i] = i & (-i); 举个例子: low_bit[1] == 1 low_bit[2] == 2 low_bit[3] == 1 low_bit[4] == 4 low_bit[5] == 1 low_bit[6] == 2 low_bit[原创 2017-10-26 18:58:08 · 290 阅读 · 0 评论 -
线段树的入门
线段树的思想是什么呢? 直接从百度上偷一张图; 好,接下来介绍一下一棵可爱的线段树的组成和正确的打开姿势: 1.建树操作(build) 显然利用二叉树的性质,t 的两个儿子分别是 t * 2 和 t * 2 + 1 所以你的建树操作应该是不断的分一个点, 【L, R】 —— 【L, Mid】 和 【Mid + 1, R】; 当L == R的时候,就是你这个递归操作的边界,就等于这个原创 2017-11-17 20:24:49 · 205 阅读 · 0 评论