LCA
smallacmer
这个作者很懒,什么都没留下…
展开
-
LCA算法
LCA算法:LCA(Least Common Ancestor),顾名思义,是指在一棵树中,距离两个点最近的两者的公共节点。也就是说,在两个点通往根的道路上,肯定会有公共的节点,我们就是要求找到公共的节点中,深度尽量深的点。还可以表示成另一种说法,就是如果把树看成是一个图,这找到这两个点中的最短距离。 LCA算法有在线算法也有离线算法,所谓的在线算法就是实时性的,比方说,原创 2012-04-06 15:46:31 · 3139 阅读 · 0 评论 -
http://poj.org/problem?id=1330&&LCA
第一道LCA题~~~LCA转化为RMQ来解决。。。#include#include#include#include#include#include#define N 10005using namespace std;int lev[2*N],first[N],visit[2*N];int head[N];typedef struct str{原创 2012-04-06 15:43:35 · 682 阅读 · 0 评论 -
LCA与RMQ算法
Rmq问题,所谓rmq问题,就是(range max/min query),就是区间最大值,最小值的查询。最常规的方法想到的是直接的查询,就是从扫面一边数组中的相关位置,然后找到最值。时间复杂度为O(n), 但是这样的算法,如果一旦查询的次数很多,查询的量很大的话,那么会变得效率不是很高。这篇将rmq的博文,大致分两部分,第一部分讲一下一个在线的rmq算法,叫做ST(Sparse原创 2012-04-06 15:52:42 · 1725 阅读 · 0 评论 -
Connections between cities&&2009 Multi-University Training Contest 8 - Host by BJNU
Problem DescriptionAfter World War X, a lot of cities have been seriously damaged, and we need to rebuild those cities. However, some materials needed can only be produced in certain places. So we n原创 2012-07-18 17:06:55 · 630 阅读 · 0 评论 -
http://acm.hdu.edu.cn/showproblem.php?pid=2586&&How far away ?
Problem DescriptionThere are n houses in the village and some bidirectional roads connecting them. Every day peole always like to ask like this "How far is it if I want to go from house A to house B原创 2012-07-19 09:09:26 · 733 阅读 · 0 评论