文章分类 - OIer
摘要:
平衡树初步
阅读全文
平衡树初步
阅读全文
摘要:引入 观看例题。 对于普通的 BST,在输入有序数列时树会退化为一条链 定义及思想 一种平衡树是 Treap,使用了左旋和右旋来保证深度不会过大,原理是在存入每个数时附加一个随机权值并使权值在树上也保持有序。 其通过旋转来保持深度,期望深度是 \(\log n\)。 但是我们有更好的方法:红黑树(R
阅读全文
摘要:引入 前置知识:二分搜索。 定义 二分答案是在二分搜索基础上扩展的算法。 对于纯的朴素算法,枚举 \(n\) 个可能的答案再进行判断(复杂度 \(O(m)\)),复杂度是 \(O(nm)\) 的,而二分的应用可以将其降低至 \(O(\log n \cdot m)\)。 大致的应用条件是: 答案在一个
阅读全文
摘要:内容 对于所有正整数 \(N\),都可以进行质因数分解为: \[N = p_1^{a_1} \cdot p_2^{a_2} \cdot p_3^{a_3} \dots p_n^{a_n} \]而大于一的整数能分解为有限个质数的乘积。 (\(p_i\) 都是质数,\(c_i\) 都是非负整数。) 应用
阅读全文
摘要:树上任意两节点之间最长的简单路径即为树的直径。
两遍 dfs 或树形 DP。
阅读全文
摘要:可以发现暴力妥妥 T 飞。
于是有新型数据结构:树状数组(以下简称BITs)
阅读全文
摘要:众所周知,DP就是毒品的意思 定义及作用 DP,动态优化,属于最恶心人的算法,但也是行之有效的。 一般会比贪心,DFS什么的快上几个 \(n\)。 讲完了。 DP 的应用条件 最优子结构,无后效性和子问题重叠。 最优子结构 注意:具有最优子结构的问题也可能适用贪心求解。 注意:要确保我们获取了最优解
阅读全文
摘要:引入 观看例题 可以发现暴力妥妥 T 飞。 于是有新型数据结构:线段树(以下简称SMT) 定义及思想 SMT 维护区间和。 对于给定的序列 \(a\),我们可以建立一个数组 \(d\),其中 \(d_x\) 表示的是根为 \(x\) 的子树中所有数之和。 建一长为 \(2n\) 的数组,\(1\)
阅读全文

超级无敌减少码量机器
韦恩图:
浙公网安备 33010602011771号