随笔分类 - 数据结构
摘要:定义 建出的存储信息为不同版本情况的线段树(又称主席树) 核心思想 但直接每次复制一次,空间时间复杂度受不了 于是我们每次只新建有修改的点,没修改的直接连到老版本上 因此动态开点,记录新的根即可 注意它“认子不认父” 时间空间复杂度均为 运用时要注意,找到前后序列的变化,
阅读全文
摘要:李超线段树 线段树的扩展版本 用来动态维护平面上直线 支持插入直线/线段,查询横坐标某处覆盖的线中纵坐标最大/最小值 可以用于斜率优化 DP 插入直线 这里直线是线段树上维护的信息,表示当前区间中点处最优的直线 同时相当于区间修改,直线也是标记,这个区间内都可能有这条直线 但是标记难以合并,必须递归
阅读全文
摘要:dfs 序的应用 很显然的就不说了,分析加法对求的东西的贡献,因为区间操作基本只能对子树,子树的 dfs 序连续 把路径加路径查用差分转换为到根的路径,默认维护路径的都是维护到根的 路径加,单点查询:考虑某个点只有在从根出发的路径的路径终点在子树内时才会被加,因此转化为 dfs 序序列上单点加,子树
阅读全文
摘要:它是离线的一种分治算法 每次计算分治中线左边的对右边的贡献或是范围内顺序在前的对顺序在后面的贡献 注意计算顺序,考虑是先分治后计算还是先计算后分治 一般是前一种,但如果计算后面某部分时要用到先计算的结果,就必须先计算后分治 之所以把它归类到数据结构,是因为其实它分治的函数可以看作树套树的外层树,内层
阅读全文
摘要:长链剖分 定义 记录 表示 到它子树中的叶子的最长路径长,其中叶子节点 那 到这个叶子的路径就是一条长链,对应的子节点为 , 到剩下子节点的边为轻边 本质上,是和重链剖分划分方式不同的另一种树剖形
阅读全文