摘要: lca问题是最近公共祖先问题,一般是针对树结构的。现在有两种方法来解决这样的问题1. On-line algorithm用比较长的时间做预处理。然后对每次询问进行回答。思路:对于一棵树中的两个节点,假设是u和v。我们要找到他们的最近的一个祖先,那么我们可以这样找,首先判断他们是不是一辈儿的人,也就是说他们的深度是不是一样的,如果一个较深(u),一个较浅(v)。我们可以不断的找较深的节点的祖先,直到u和v的深度一致。如果此时u和v重合了,那么u(v)就是他们的最近公共最先,如果不重合,这时,就可以同时找u和v的祖先,直到找到为止(最坏的情况是根节点)。这个思路比较好理解,处理也很方便,在求lca 阅读全文
posted @ 2013-09-18 20:52 Chierush 阅读(413) 评论(0) 推荐(0) 编辑