- 博客(3)
- 收藏
- 关注
原创 [算法] LCA 最近公共祖先 (Tarjan)
今天让我们来看看LCA算法中的一个离线算法Tarjan 首先,我们必须先明确什么是LCA,也就是最近公共祖先。对于有根树上的两个结点u、v,最近公共祖先LCA(u,v)表示一个结点x,满足x是u、v的公共祖先且x的深度尽可能大,也就是离u、v最近的公共祖先(这不是废话?)。
2017-09-27 19:54:22 413
原创 [题解] CodeVS 2370 小机房的树(LCA Tarjan)
题意:一棵树上有n个节点,给出m对节点,问他们到最近公共祖先的距离是多少 分析:关于LCA(最近公共祖先)问题,有许多种方案,比如说倍增、RMQ+时间戳、Tarjan、甚至是树链剖分等。其中Tarjan是一种离线算法,时间复杂度很喜人:O(m+n)。
2017-09-26 19:48:31 365
原创 [题解] HDU 2196 Computer(树型DP)
题意:给你一棵n个节点的树,问对于每一个点离它最远的点距离是多少 分析:对于每一个节点e[i].to来说,它的最远距离可能来自它的子树,或者它的父亲节点son想到这里,你离AC这道题就不远了!
2017-09-14 21:10:47 384
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人