码迷,mamicode.com
首页 >  
搜索关键字:rmq在线算法    ( 3个结果
LCA最近公共祖先 ST+RMQ在线算法
对于这一类的问题有2中解决方法。第一种就是tarjan的离线算法,还有一中是基于ST算法的在线算法。复杂度都是O(n); 先介绍在线算法: 1) dfs: 对于图所示的树,我们从根节点1开始dfs,按照先序访问(不算完全的先序),那么它访问顺序就是1 -> 2 -> 4 -> 2 -> 5 -> 7 ...
分类:编程语言   时间:2016-07-13 10:28:51    阅读次数:139
LCA-最小公共父节点
有一个普通二叉树,AB分别为两个子节点,求AB最近(深度最浅)的公共父节点。 此题仍然是一个老题,有着多种解决方法,本文针对其中三种方法来进行分析总结。 这三种方法分别是:递归法,tarjan离线算法,RMQ在线算法。 递归法 递归法比较直观简单,思路如下: 首先判定当前节点root是否是A节点或者B节点,若是的话直接返回该节点 若不是,分别对root节点的左右子树进行递归查找最小公共...
分类:其他好文   时间:2015-07-19 13:36:58    阅读次数:1468
LCA最近公共祖先 在线算法和离线算法 模板
原理讲解:http://dongxicheng.org/structure/lca-rmq/ 在线算法模板: /** LCA在线算法O(nlogn) 主函数调用: init(); tot=0,dir[1]=0; dfs(1,1); ST(2*n-1); int lca=LCA(u,v); */ #include #include #include #include #inclu...
分类:编程语言   时间:2015-03-01 18:33:50    阅读次数:168
3条  
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!