
数据结构整理
xyyxyyx
这个作者很懒,什么都没留下…
展开
-
线段树合并复杂度证明
摘抄自 styx的博客假如初始所有的线段树点数总和为 NNN 。因为只要合并两个节点,节点总个数就会少掉一个,所以复杂度应该是 O(N)O(N)O(N) 的。所以不是所有情况下的线段树合并都是 O(nlogn)O(n \log n)O(nlogn) 的。一般情况下我们只会对每个节点开动态开一条链,所以 N=nlognN=n\log nN=nlogn ,复杂度才会是 O(nlogn)O(...原创 2019-12-11 07:46:21 · 988 阅读 · 0 评论 -
各种模板
文章目录1矩阵2图(邻接表)2.1有边权2.2没边权3快读4树状数组4.1区间求和4.2区间最值(max)5平衡树5.1无旋Treap5.2 Splay6主席树6.1静态7计算几何7.1凸包8后缀数组1矩阵void add(int &x, int y){if ((x += y) >= mod) x -= mod;}int mul(int x, int y){return 1ll...原创 2019-02-17 11:32:46 · 567 阅读 · 0 评论 -
数据结构杂题
弹飞绵羊 LCT边分治dsu on tree点分治树原创 2019-08-09 10:29:04 · 156 阅读 · 0 评论 -
动态树(LCT)学习笔记
文章目录原创 2019-07-19 21:22:32 · 332 阅读 · 0 评论 -
平衡树学习笔记
文章目录原创 2019-07-11 19:24:50 · 156 阅读 · 0 评论 -
后缀自动机学习笔记
文章目录定义clj ppt讲课人贺的blog原创 2019-07-14 17:49:06 · 168 阅读 · 0 评论 -
主席树整理
主席树是一种奇怪的数据结构,好像又叫函数式线段树。主席树是一种可持久化数据结构,即它可以支持查询“历史记录”,比如区间第k大等等。现在先说静态的主席树一、静态主席树大致思路是:先将n元素的值离散为[0, sz-1],这棵树的每个节点记录的是在当前前缀[1...i]中,离散值处在[l, r]区间内的值的个数。由线段树的单点更新可以知道,在树里更新或插入一个元素,只需要O(lgn)的时间复杂度,即只需...原创 2018-07-12 20:53:33 · 252 阅读 · 0 评论 -
线段树整理
持续更新题目一、洛谷P1384无聊的数列(传送门)#include<iostream>#include<cstdio>#include<cstring>using namespace std;const int N = 1e5+10;int n, m, a[N], tag[N<<2], t[N<<2];int q, x, ll...原创 2018-07-09 18:46:55 · 137 阅读 · 0 评论 -
zkw线段树
如此重口味的数据结构,网上对它的作用范围其实没有很明确的表述。一、单点修改+区间/单点查询 不用差分,建树O(nlgn),修改O(lgn),区间查询O(lgn),单点查询O(1)二、区间修改+RMQ查询 差分思想,建树O(nlgn),修改O(lgn),查询O(lgn)p . s . 实际上他应该是不支持区间修改+区间和查询的,因为不用差分区间修改会很慢, 而用了差分区间...原创 2018-07-09 16:00:44 · 987 阅读 · 2 评论 -
带权并查集整理
在并查集的基础上,对其中的每一个元素赋有某些值。在对并查集进行路径压缩和合并操作时,这些权值具有一定属性,即可将他们与父节点的关系,变化为与所在树的根结点关系。这就是带权并查集。两道例题:一、关押罪犯(传送门)题目描述SS 城现有两座监狱,一共关押着 NN 名罪犯,编号分别为 1-N1−N 。他们之间的关系自然也极不和谐。很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突。我们用“怨气值...原创 2018-07-09 14:00:48 · 932 阅读 · 0 评论