-树
文章平均质量分 94
zhangche0526
退役OIer
展开
-
树上倍增
寒假集训第一天和最后一天分别考了这两道题,这两道题做法几乎完全一样,可谓首尾呼应,然而我还是没做对(捂脸),果然还是编程能力有问题。两道题做法均为先Kruskal求最大或最小生成树,之后被增求LCA,同时记录最值。所以说我是跟树上倍增有仇吗,今天又考了一道,树上倍增优化动规,然而我把状态转移方程写错了……原创 2017-02-10 09:24:32 · 492 阅读 · 0 评论 -
点分治
点分治是树分治中应用最广泛的一种,常用于解决一类求树上满足条件的点对相关的问题,与其它的算法与数据结构结合后能解决多种类型的树上问题,可以说其作用媲美树链剖分。原创 2017-07-16 20:10:27 · 446 阅读 · 0 评论 -
平衡树比较与应用
两种平衡树比较与应用原创 2017-06-19 15:48:44 · 1079 阅读 · 1 评论 -
树链剖分
树链剖分简介树链剖分适用于一些复杂的题目,可以较为充分获取树上的信息,将其转换为线性结构后可以很方便的使用线性数据结构进行处理。那么,树链剖分试讲一棵树如何转化为一条链的呢?之前有前序、中序、后序遍历,而树链剖分与前三种方式相似但不相同。首先,有两个重要的概念:对于一个节点,他的子节点的子树中节点数最多的是他的重儿子,相对地,其他节点成为此节点的轻儿子。对每个节点,我们遍历的时候首先到它的重儿子,在原创 2017-08-04 18:59:39 · 547 阅读 · 0 评论 -
主席树
主席树主席树可以解决不适用结合律的区间问题(如区间第 KK 大,区间种类数),这些问题原本是需要繁琐的树套树,而有了主席树就简单很多了。主席树的中心思想是保留历史版本,最暴力的做法是没插入一个节点就新建一棵线段树,但这样会各种爆,其实我们可以只新建有更改的节点,然后直接连边到原来的节点即可。类比普通的线段树,主席树的插入顺序相当于普通线段树的位置,而主席树中的位置是维护的权值。例题[POJ2104]原创 2017-08-03 21:47:10 · 515 阅读 · 0 评论 -
仙人掌相关问题的处理方法(未完待续)
仙人掌相关问题的处理方法如图所示:仙人掌图就是长得像仙人掌的图嘛(我真没看出哪里像了)定义:对一个无向连通图,任意一条边属于至多一个简单环。桥边:非环边,就是连接环的那些边;环边:就是环中的边嘛。在仙人掌上,父亲和儿子都有节点的和环的之分。DFS 树解决仙人掌 DP 问题仙人掌的处理是十分复杂的(本蒟蒻个人认为,神犇轻喷),这里先从简单的 DFS树开始。树边:DFS 树中存在的边非树边:D原创 2017-05-13 21:36:19 · 8076 阅读 · 4 评论 -
线段树
线段树原创 2017-01-21 20:25:37 · 269 阅读 · 0 评论 -
LCA
LCA原创 2017-01-22 16:45:23 · 423 阅读 · 0 评论 -
树状数组
树状数组-模板-求逆序对原创 2017-01-21 10:12:01 · 335 阅读 · 0 评论 -
堆
堆原创 2017-01-21 20:27:08 · 229 阅读 · 0 评论 -
Link-Cut Tree
Link-Cut Tree由于本文涉及的许多专有名词并没有统一的中文译名,所以本文译名与其他资料不尽相同,尽请谅解。概念 动态树问题, 即要求我们维护一个由若干棵子结点无序的有根树组成的森林. 要求这个数据结构支持对树的分割, 合并, 对某个点到它的根的路径的某些操作, 以及对某个点的子树进行的某些操作.Link-Cut Tree, LCT 是一种能快速解决动态树问题的数据结原创 2017-06-20 15:08:31 · 459 阅读 · 0 评论