2022.2.21蓝桥杯准备训练

时隔多年,再次入坑算法竞赛。。。。。
今天复习了点双,边双,割边缩点,割点缩点,强联通分量。
在强联通分量板题中,注意tarjan中的写法

if(!dfn[t]){
           tarjan(t);
           low[x] = min(low[x],low[t]);
       }else if(ins[t]){
           low[x] = min(low[x],dfn[t]);
       }

而不是

if(!dfn[t]){
            dfs(t);
            low[x] = min(low[x],low[t]);
        }else {
            low[x] = min(low[x],dfn[t]);
        }

这里和无向图的点双边双不同,务必保证树边连下去的点不在其他的连通分量中时,才做更新low的操作

posted @ 2022-02-21 23:23  DengHaoyu  阅读(64)  评论(0编辑  收藏  举报