行路难,行路难,多歧路,今安在?长|

hhhqx

园龄:1年8个月粉丝:9关注:14

文章分类 -  数据结构

分块
该文被密码保护。
1
0
0
点分治+边分治+点分树
该文被密码保护。
0
0
0
堆+左偏树
摘要:二叉堆 https://oi-wiki.org/ds/binary-heap/ 定义:一颗完全二叉树,满足每个子树的根节点是子树内最大值(最小值)。 因为是完全二叉树,所以树高 hlog 级别。 左偏树 https://oi-wiki.org/ds/leftist-tree/
1
0
0
矩阵乘法
该文被密码保护。
3
0
0
笛卡尔树
该文被密码保护。
1
0
0
线段树
该文被密码保护。
1
0
0
珂朵莉树
摘要:前置知识 https://oi-wiki.org/lang/csl/associative-container/ insert 函数的返回值类型为 pair<iterator, bool>,其中 iterator 是一个指向所插入元素(或者是指向等于所插入值的原本就在容器中的元素)的迭代器,而 bo
3
0
0
可持久化数据结构
摘要:可持久化 01 字典树 01 字典树 详情见 https://www.cnblogs.com/huangqixuan/articles/17664519.html 可持久化 01 字典树 01trie 上每次操作都会有一条操作路径,对于每次操作将那条操作路径,复制后修改。 如何复制?新建节点,注意还
6
0
0
树状数组
摘要:lowbit 如何计算 lowbit,就是二进制下第一个 1 你当然知道 lowbit(x)=x & (x),为什么? x 的二进制就是 x 的二进制每一位取反再加一 树状数组 树状数组相比线段树的优势就是空间复杂度不用 ×4 且常数小到
1
0
0
树链剖分
该文被密码保护。
1
0
0
最近公共祖先(lca)
摘要:最近公共祖先(Lowest Common Ancestor) 倍增 倍增(求 k 级祖先) 倍增预处理: for(int i = 1; i < MAXL; i++){ // 求树上 K 级祖先 for(int j = 1; j <= n; j++){ // n 为节点数量 anc[i][j]
6
0
0
2-SAT
摘要:2-SAT 前置知识 并查集 Tarjan 缩点 概念 用于处理拥有斜对称性的问题(在下文会提到) 运用了并查集思想 2-SAT 斜对称性 这是一张斜对称性概念图 如在例题P4782中,斜对称性就是 x0=y1x1=y0 (这是抽象意思,具体见代码实现) 易错地
12
0
0
字典树 和 AC自动机
摘要:字典树 (Trie) 就是建一棵树,每条边代表一个字符,任意一条从根出发的路径都表示不同的字符串。 任意一条从根出发的路径都表示一下字符串的前缀 字典树模板 如何建树呢? 如何快速查询有多少个字符串的前缀是 s 呢? 字典树模板 int top = 1, eg[MAXN][70], sum[
15
0
0
并查集
摘要:并查集 并查集应用 判二分图 并查集可以将一个图转换成一棵树,且可以使树的高度最多为 logn 可以建多个图,然后每个图之间有些变相连 模板并查集 O(n2) 合并两棵树,或合并两个序列 const int MAXN = 1e5 + 10; int n, m, opt, X,
0
0
0
平衡树
摘要:二叉搜索树 https://oi-wiki.org/ds/bst/ 也就是一颗二叉树,满足每个节点 x 的左子树的所有点权值小与 valx、右子树的所有点权值大于等于 valx。 也可以叫排序树。 在二叉搜索树上的操作都是 O(h)h 为树高)。最优复杂
0
0
0
点击右上角即可分享
微信分享提示
深色
回顶
收起