算法合集之《分治算法在树的路径问题中的应用》.ppt
《算法合集之《分治算法在树的路径问题中的应用》.ppt》由会员分享,可在线阅读,更多相关《算法合集之《分治算法在树的路径问题中的应用》.ppt(50页珍藏版)》请在三一办公上搜索。
1、分治算法在树的路径问题中的应用,长沙市雅礼中学 漆子超,树的路径问题,论文内容,一、树的分治算法,树的分治的两种常见形式:基于点的分治 基于边的分治,二、树的路径剖分算法,三、树的分治算法的进一步探讨,如何改进基于边的分治的时间复杂度,归纳为基于链的分治,一、树的分治算法,树的分治算法是分治思想在树型结构上的体现。,两种常见的形式,基于点的分治,两种常见的形式,基于点的分治,1.选取一个点将无根树转为有根树,2.递归处理每一颗以根结点的儿子为根的子树,两种常见的形式,基于边的分治,两种常见的形式,基于边的分治,1.在树中选取一条边,2.将原有的树分成两棵不相交的树,递归处理。,效率分析,可以证
2、明在基于点的分治中,如果每次都选取树的重心,那么至多递归 O(LogN)次。,基于边的分治最坏情况下递归次数为O(N)。,【例一】树中点对统计,给定一棵N个结点的带权树。定义dist(u,v)=u,v两点间的路径长度,路径的长度定义为路径上所有边的权和。给定一个K,如果对于不同的两个结点a,b,如果满足dist(a,b)K,则称(a,b)为合法点对。求合法点对个数。,N10000,K109,一条路径:,1.过根节点,2.在一颗子树内,?,树中点对统计,记D(i)表示节点i到根节点路径的长度,Answer=满足 D(i)+D(j)K 的(i,j)个数 i,j属于不同的子树,O(NlogN),树中
3、点对统计,时间复杂度分析,每层的时间复杂度不超过O(NlogN),最多递归O(logN)次,O(Nlog2N),二、路径剖分算法,轻重边路径剖分,将树中的边分为两类:轻边和重边。,记Size(U)表示以U为根的子树的结点个数。,令V为U的儿子中Size(V)最大的一个,那么我们称边(U,V)为重边,其余边为轻边。,轻重边路径剖分,我们称某条路径为重路径,当且仅当它全部由重边组成。那么对于每个点到根的路径上都不超过O(logN)条轻边和O(logN)条重路径。,我们称某条路径为重路径,当且仅当它全部由重边组成。那么对于每个点到根的路径上都不超过O(logN)条轻边和O(logN)条重路径。,路径
4、剖分算法常用来高效的维护点到根的路径,Spoj的Qtree,Astar2008的黑白树,【例二】Query On a Tree,给定一棵包含N个结点的树,每个节点要么是黑色,要么是白色。要求模拟两种操作:1)改变某个结点的颜色。2)询问最远的两个黑色结点之间的距离。,数据范围:N100000,边权绝对值不超过1000,此题出自2007年浙江省选,但此题中树的边权可能为负,无法使用括号序列。,另寻他法,路径剖分算法,这道题的算法似乎与路径剖分毫无关系,那么我们是否能用路径剖分算法解决此题呢?,路径剖分与树的分治的联系,一棵树及其剖分,路径剖分与树的分治的联系,路径剖分每次删除了一条链,所以路径剖
5、分算法可以看做是基于链的分治,按照点到根结点路径上的轻边个数分层摆放。,递归树!,Query On a Tree,将路径剖分理解成基于链的分治后,我们可以用类似基于点的分治的方法将路径分类。,1.与链有重合部分,2.与链没有重合部分,Query On a Tree,我们的目标就是要求出满足与此链的重合部分在1,N的路径的最大长度。,我们可以用线段树解决这个问题。,Query On a Tree,记D(i)表示第i个结点至子树内某个黑色结点的路径中长度的最大值。Dist(i,j)表示链上的第i个点到第j个点的距离。,Query On a Tree,对于线段树中的一个区间L,R,我们需要记录下面三
6、个量:,=与此链的重合部分在L,R的路径的最大长度,L,R,L,R,Query On a Tree,L,R,L,R,L,R,设区间L,R的结点编号为P,Lc,Rc分别表示P的左右两个儿子,区间L,Mid和Mid+1,R。我们可以得到如下转移:,Query On a Tree,L,R,L,R,L,R,设区间L,R的结点编号为P,Lc,Rc分别表示P的左右两个儿子,区间L,Mid和Mid+1,R。我们可以得到如下转移:,Query On a Tree,Opt,Opt,L,R,Opt,L,R,设区间L,R的结点编号为P,Lc,Rc分别表示P的左右两个儿子,区间L,Mid和Mid+1,R。我们可以得到
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 分治算法在树的路径问题中的应用 算法 分治 路径 问题 中的 应用
链接地址:https://www.31ppt.com/p-6056233.html