高级树状数组讲解:https://www.cnblogs.com/RabbitHu/p/BIT.html 树状数组 一维树状数组 单点修改,区间查询 https://loj.ac/problem/130 #include<bits/stdc++.h> #define INF 0x3f3f3f3f # ...
分类:
编程语言 时间:
2020-07-20 22:29:48
阅读次数:
77
灵性建图,Pick定理证明内向树森林,DFS时线段树统计线段覆盖 ...
分类:
其他好文 时间:
2020-07-19 23:49:58
阅读次数:
97
st表是一个求RMQ问题的一种比线段树查询时间复杂度要小的算法 st表的主体是一个二维数组st[i][j],表示需要查询的数组的从下标i到下标i+2^j - 1的最值,这里以最大值为例 首先应该预处理log函数 因为向下取整所以可以这么来做: int mlog[N]; void pre(int n) ...
分类:
其他好文 时间:
2020-07-19 23:31:24
阅读次数:
84
动态开点线段树 前置芝士 众所周知,普通线段树空间复杂度是 \(O(n*4)\) 所以当n很大的时候,如果正常的去建一颗线段树,开4倍n空间显然会炸内存 怎么办呢? 这个时候,动态开点线段树出现了。 概念 ? 动态开点线段树是一类特殊的线段树,与普通的线段树不同的是,每一个节点的左右儿子不是该点编号 ...
分类:
其他好文 时间:
2020-07-19 18:01:19
阅读次数:
66
树链剖分 前置芝士 ? 就像它的名字,树链剖分是在一棵树上进行,在讲解中还会用到线段树和dfs,如果不会,打开链接自行搜索(主要是线段树的博客没做,还有不要问我为什么这算知识)。 一个节点的重儿子,为其更大的一颗子树的根节点。从这个点连向重儿子的边我们称为重边。 由重边连续连起来的点和边就组成了重链 ...
分类:
其他好文 时间:
2020-07-19 18:00:12
阅读次数:
56
主席树(可持久化线段树) 前置芝士 知识点 线段树,权值线段树(不一样),离散化,前缀和(思想) 由来 据说,是一位叫fotile主席的大大在写一道题时因为不会划分树就临时yy出一个算法,于是,这算法就这么诞生了。 作用 对区间求 \(kth\) 思想 思考优化策略 一列数,可以对于每个点i都建一棵 ...
分类:
其他好文 时间:
2020-07-19 17:57:51
阅读次数:
52
树状数组 部分转自Xenny 前置芝士 什么是树状数组 用数组来模拟树形结构 可解决问题 解决大部分基于区间上的更新以及求和问题 和线段树的区别 树状数组可以解决的问题都可以用线段树解决,但是树状数组码量小,系数少(很多) 优点和缺点 修改和查询的复杂度都是O(logN),而且相比线段树系数要少很多 ...
分类:
编程语言 时间:
2020-07-19 17:57:33
阅读次数:
66
题目描述 Since you are the best Wraith King, Nizhniy Magazin «Mir» at the centre of Vinnytsia is offering you a discount. You are given an array a a a of ...
分类:
其他好文 时间:
2020-07-19 17:51:34
阅读次数:
56
权值线段树 前置芝士 ? 顾名思义,权值线段树也算是一种线段树,它的本质也是线段树。所以在学习权值线段树之前,如果对普通线段树的掌握不太熟,可以先去这里去搜索线段树进行学习。 ? 而权值线段树的进一步本质则是用线段树维护桶。同理,如果不知道桶是什么可以到这里进行搜索。 概念 ? 我们知道,普通线段树 ...
分类:
其他好文 时间:
2020-07-19 16:32:24
阅读次数:
61
线段树合并 前置芝士 动态开点线段树和权值线段树 乍一看,线段树合并和上面那两个奇怪的东西有什么关系。 其实,线段树合并的全称为动态开点权值线段树合并( 雾 如果对上面那两个奇怪的东西不理解可点开链接进行搜索(大雾 优点 ? 动态开点线段树有着一些优点,比如说当你让某个节点继承另一个节点的左儿子或者 ...
分类:
其他好文 时间:
2020-07-19 16:32:06
阅读次数:
90