警示后人(如果你 WA 76 分 #4 #6 #11)
查看原帖
警示后人(如果你 WA 76 分 #4 #6 #11)
932039
lzy20091001楼主2024/3/23 23:30

一个点可能被判成割点多次。

所以不能发现一条出边满足要求就加入答案:

// ...
if (vt[v].low >= vt[u].dfn)
{
    son_cnt++;
    if (fa != 0 || son_cnt > 1)
        ans.push_back(u);
}
// ...

而应该在搜索完所有出边后再加入:

bool flag = false;
// ...
if (vt[v].low >= vt[u].dfn)
{
    son_cnt++;
    flag = (fa != 0 || son_cnt > 1);
}
// ...
// 搜索完所有出边后
// ...
if (flag)
    ans.push_back(u);
2024/3/23 23:30
加载中...