摘要: 首先我们需要知道强连通分量,因为Tarjan就是用来求这个的。连通的意思是对于<u,v>,存在路径可以从其中一个达到另一个;强连通是指即存在从u到v的路径,又存在从v到u的路径。强连通是针对于有向图来说的,因为无向图只要做到了连通就做到了强连通。强连通分量就是指有向图的极大强连通子图,多一个点少一个 阅读全文
posted @ 2018-09-15 19:51 Mr^Kevin 阅读(610) 评论(0) 推荐(0) 编辑
摘要: !!!原来LCA的题可以出的这么难,完了这还属于水题?! 先来解释一下题意,有N个城市,在这N城市之间有M条边(不一定每个城市都有边)。我们的任务是找出给定两个点之间路径上的最小边权,使得这个最小边权尽量大。一开始我很纳闷,这和LCA有什么关系呢,怎么和最大流有点像。冥思苦想(看了别人的想法)之后, 阅读全文
posted @ 2018-09-15 11:55 Mr^Kevin 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 对于一棵树来说,树上两个结点有LCA。LCA是指两个结点所有公共祖先中,深度最大的。LCA有很多性质,比如树上两点间最短路径会经过LCA(无负边权),树的DFS序中LCA是两点间深度最小的等等。 LCA据说是NOIP几乎每年必考内容,如何高效率地求LCA很关键。不难想到一种暴力做法,从两个点开始往上 阅读全文
posted @ 2018-09-15 08:54 Mr^Kevin 阅读(219) 评论(0) 推荐(0) 编辑