
【图论】LCA
Chlience
勿忘初心,方得始终
展开
-
[题解] CodeVS 2370 小机房的树(LCA Tarjan)
题意:一棵树上有n个节点,给出m对节点,问他们到最近公共祖先的距离是多少 分析:关于LCA(最近公共祖先)问题,有许多种方案,比如说倍增、RMQ+时间戳、Tarjan、甚至是树链剖分等。其中Tarjan是一种离线算法,时间复杂度很喜人:O(m+n)。原创 2017-09-26 19:48:31 · 397 阅读 · 0 评论 -
[题解] NOIP2015 货车运输(最大生成树+LCA)
【问题描述】 A 国有nn座城市,编号从11到nn,城市之间有mm条双向道路。每一条道路对车辆都有重量限制,简称限重。现在有qq辆货车在运输货物, 司机们想知道每辆车在不超过车辆限重的情况下,最多能运多重的货物【输入】 输入文件名为truck.in 输入文件第一行有两个用一个空格隔开的整数n,mn,m,表示A国有nn座城市和mm条道路 接下来mm行每行3个整数x,y,zx,y原创 2017-10-31 21:32:59 · 446 阅读 · 0 评论 -
[算法] LCA 最近公共祖先 (Tarjan)
今天让我们来看看LCA算法中的一个离线算法Tarjan 首先,我们必须先明确什么是LCA,也就是最近公共祖先。对于有根树上的两个结点u、v,最近公共祖先LCA(u,v)表示一个结点x,满足x是u、v的公共祖先且x的深度尽可能大,也就是离u、v最近的公共祖先(这不是废话?)。原创 2017-09-27 19:54:22 · 442 阅读 · 0 评论