码迷,mamicode.com
首页 >  
搜索关键字:离线算法    ( 111个结果
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
hdu 2586 LCA模板题(离线算法)
http://acm.hdu.edu.cn/showproblem.php?pid=2586 Problem Description There are n houses in the village and some bidirectional roads connecting them. Every day peole always like to ask like this ...
分类:编程语言   时间:2015-03-01 11:59:18    阅读次数:710
POJ 1330 Nearest Common ancesters(LCA,Tarjan离线算法)
Description: In the figure, each node is labeled with an integer from {1, 2,...,16}. Node 8 is the root of the tree. Node x is an ancestor of node y if node x is in the path between the root and node...
分类:编程语言   时间:2015-02-25 14:18:40    阅读次数:191
hicocoder1067 最近公共祖先·二(tarjan算法)
tarjan算法是处理最近公共祖先问题的一种离线算法。算法思路:先将所有的询问搜集起来。然后对树进行dfs,在dfs的过程中对节点进行着色。当到达某个节点x的时候,给x着色为灰色,离开x的时候,着色为黑色。当到达x并将其着色为灰色后,处理与x相关联的所有询问:(这里有一个显然的事实:所有的灰色节点都...
分类:编程语言   时间:2015-02-21 14:19:52    阅读次数:222
HDU 3333
求一个区间内不同数的和。这相当于求一个区间的不同数的个数。使用树状数组,离线算法,离散化,把所有要询问的区间读入,然后按区间的右端点排序。对数组从左往右扫描,设当前数字为V,记录下V上一次出现在数组的位置last[V],然后把上一次的位置last[v]在树状数组减去V,在当前位置加上V。当扫描到区间...
分类:其他好文   时间:2015-02-04 14:12:17    阅读次数:246
URAL 1471(lca tarjan算法)
题意:给定一棵树,查询时给定两个点,求出两个点的距离。 暴力做肯定超时的。我的做法是采用lca(最近公共祖先)的离线算法,即tarjan算法(据说Tarjan提出了很多算法,可能还有很多tarjan算法),算法里用到了并查集。在输入完所有查询之后,在求出答案。tarjan算法的做法是:一开始vis数组初始化为0,从树根开始递归往下对点进行染色,刚到一个点的时候将vis取为-1,在继续递归...
分类:编程语言   时间:2015-01-24 09:02:19    阅读次数:260
POJ1330 Nearest Common Ancestors【最近公共祖先】【Tarjan-LCA算法】
题目大意:给你一棵树,有N个结点,N-1条边。最后询问距离树上两个点(u,v)最近的 公共祖先是多少。 比如上图:6和16的最近公共祖先就是4;14和1的最近公共祖先就是1。 思路:对于最近公共祖先LCA问题,最经典的离线算法是Tarjan-LCA算法。用链式前向 星存储图和询问,Head[]和Edges[]表示图(树),QHead[]和QEdges[]表示询问。集合 的操作用并查集实现。这道题里用了indegree[]数组来存储结点的入度,找到入度为0的 根结点root,调用LCA(root)。 Tarj...
分类:编程语言   时间:2014-12-31 21:35:07    阅读次数:161
[BZOJ 1878] [SDOI2009] HH的项链
题目链接:BZOJ - 1878题目分析题目的询问是某个区间内的颜色种类数,所以我们希望这个区间内的每种颜色只被计数一次,那么我们就选取询问区间内的每种颜色第一次出现的元素计数,之后再出现已经在询问区间中出现过的颜色就不再计数。考虑一种离线算法,如果我们将所有询问按照询问区间的左端点排序,那么所有询...
分类:其他好文   时间:2014-12-18 23:35:56    阅读次数:208
[图论] LCA(最近公共祖先)Tarjan 离线算法
很好的参考资料:http://taop.marchtea.com/04.04.html    下面的配图和部分文字转载于此文章 离线算法就是指统一输入后再统一输出,而不是边输入边实时输出。Tarjan算法的复杂度为O(N+Q),Q为询问的次数. 由于是离线算法,所以要保存输入的信息,次序问题。   若两个结点u、v分别分布于某节点t 的左右子树,那么此节点 t即为u和v的最近公共祖先。更进...
分类:编程语言   时间:2014-12-09 21:27:58    阅读次数:366
poj 1470 Closest Common Ancestors tarjan求lca和树的孩子兄弟表示
tarjan求lca离线算法的简洁模板,树用孩子兄弟表示法表示,代码很短。...
分类:其他好文   时间:2014-11-25 16:27:13    阅读次数:258
111条   上一页 1 ... 8 9 10 11 12 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!