tarjan
番茄你个西红柿i
咸鱼一条.
展开
-
Tarjian求lca(模版)
记个板子! tarjian求lca利用了并查集和dfs序。 lca就好比搜索中两个点的最尽转折点。 并查集的father数组记录此树的根节点,在dfs搜索的过程中更新father数组。 因为搜索的顺序,father数组并不能在开始就传回最高层。因此对于两个点,如果一个点被搜索过了,而另一点此时被搜到,那么这两点的lca就是被搜索过的点所在树的根节点。(这个可以用反证法证明)。 更详细的讲...原创 2018-05-28 21:44:36 · 455 阅读 · 0 评论 -
tarjan求割点,割边
割边:在联通图中,去掉某一条边,使该图某些点不能相互到达,此边即为割边。 割点:同理,在连通图中,去掉某个点及与这个点相连的边,使该图有点不连通,此点即为割点。 搜索树:从某一点开始dfs遍历所有点且不重复的情况下经过的边构成的树。 tarjan算法中关键的两个数组: dfn x 时间戳数组,即为dfs遍历是首次到达x点的序号,就是按照遍历顺序给所有点编号。 low x 在...原创 2018-06-06 11:54:24 · 253 阅读 · 0 评论