09 2024 档案
摘要:平衡树作为一种中级数据结构,有着广泛的使用场景。其平衡性的维护方式灵活多变,而其中的无旋treap更以简单著称 P3369 【模板】普通平衡树 给定集合。 修改: 插入一个数 x。 删除一个数 x(若有多个相同的数,应只删除一个)。 查询: 定义排名为比当前数小的数的个数 +1。查询 x 的排名。
阅读全文
摘要:对于解决树上k距离、与路径和最值等路径问题的有力工具。虽然dsu on tree也可解决大部分点分治题目,但点分治思路相对固定,思维难度较低。缺点是在与其他数据结构结合时代码量极大,同时并不好调,需要注意细节并且写熟练。 点分治作为一种分治算法,与序列分治有异曲同工之妙。序列分治是取l与r之间的mi
阅读全文
摘要:总的来说,树上合并类问题主要用于解决树上统计种类数、最大值一类的问题。 最朴素的树上合并思路为分别统计每个子树的答案合并再加上父亲节点本身的答案。一般采用启发式合并,将小子树合并进大子树中 如 树上数颜色 题意: 给定一颗有根树,每个节点有颜色,求每棵子树的颜色种类数 简要题解: 非常经典,颜色数统
阅读全文
摘要:后缀数组 P3809 【模板】后缀排序 定义: 对给定字符串的所有后缀排序后得到的sa、rk数组 sa[i]->排名为 i 的后缀的位置 rk[i]->位置为 i 的后缀的排名 容易发现,sa与rk互为逆,如:sa[rk[i]]=i,rk[sa[i]]=i 应用 应用主要体现在用后缀数组求 lcp
阅读全文

浙公网安备 33010602011771号