引言 树套树,顾名思义,就是要将两种或多种树形数据结构结合起来,解决一些单独无法解决的问题。 如果说要解决区间上的问题,如最大值,区间修改等,肯定会想到线段树。 但是线段树不能查询第k大,不能查询一个数在区间的排名,自然也不能查询前驱和后继。 平衡树可以解决查询排名、前驱、后继等问题 ...
写篇博客证明自己还活着 在OI中,有些时候我们会遇到一些维护多维信息的题目,比如经典的三维偏序,或者带修改区间k小值 这个时候有的dalao就会跳出来大喊 整体二分 CDQ 然而这并不是我们今天讨论的重点 并且在强制在线的情况下,上面这两种算法就无能为力了。 那么我们就需要用数据结构乱堆树套树的方法来解决这类问题。这类树套树解法以码量大和难调试著称。 通过用一种 棵 数据结构维护一维信息,我们可 ...
2017-12-08 18:03 4 4963 推荐指数:
引言 树套树,顾名思义,就是要将两种或多种树形数据结构结合起来,解决一些单独无法解决的问题。 如果说要解决区间上的问题,如最大值,区间修改等,肯定会想到线段树。 但是线段树不能查询第k大,不能查询一个数在区间的排名,自然也不能查询前驱和后继。 平衡树可以解决查询排名、前驱、后继等问题 ...
浅谈基环树(环套树) 本篇随笔简单讲解一下算法竞赛中的基环树。也叫环套树。 一、基环树概念 其实我个人更喜欢叫它基环树。更好理解。 它的标准定义是:具有N个点N条边的连通图。 如果不保证联通,它就会成为基环树森林。 上张图直观理解一下。 这就是一棵基环树。 如果我们把中间 ...
一【DOM树节点】 DOM节点分为三大类:元素节点、文本节点、属性节点 文本节点、属性节点,为元素节点的两个子节点; 通过getElement系列方法,可以去到元素节点 ...
计树问题小结 标题并没有打错字 前言 某个当时对生成树一窍不通的蒟蒻在\(WC2019T1\)看到了“\(n\)个点的无根树一共有\(n^{n-2}\)种”时感到十分诡异,于是恶补了相关知识但是并没有总结,正好和最近的无标号树的计数问题合在一起 \(Prufer\)序列 ...
斯坦纳树 网上关于这玩意儿的资料不是很多 度娘的定义 斯坦纳树问题是组合优化问题,与最小生成树相似,是最短网络的一种。 最小生成树是在给定的点集和边中寻求最短网络使所有点连通。 而最小斯坦纳树允许在给定点外增加额外的点,使生成的最短网络开销最小 ...
很久之前我就想过怎么快速在二维平面上查找一个区域的信息,思考许久无果,只能想到几种优秀一点的暴力。 KD树就是干上面那件事的。 别的不多说,赶紧把自己的理解写下来,免得凉了。 KD树的组成 以维护k维空间(x,y,……)内的KD树为例,主要由一下三部分组成: p[k],代表 ...
动态主席树(带修改的区间第k大)(树套树) 基本思想 区间第k小的问题我们可以用静态主席树来维护,但是一些题目往往会增加修改操作,那么我们应该怎么做呢,先看例题。 这道题如果只用静态主席树是不可能的,因为有修改操作,静态主席树是不能修改的,我们就需要能支持修改的动态主席树。 我们想,单点 ...
BZOJ1513 我们经常提及的二维线段树有两种写法,一种是四分树,一种是树套树,写成四分树的都是神仙。 树套树写法还是比较好理解的,不过要是让自己硬套的话可能很不容易套出来的 这里的二维线段树,外层线段树是对方阵的正投影,而内层线段树是对方阵的侧投影 这里的内层线段树可以变换成一棵普通 ...