最大半连通子图

这道题目主要是新学会一个trick:tarjan缩完点之后形成了一个拓扑逆序

什么意思?也就是说,缩完点之后,我们对每个scc进行连边,然后我们直接倒序循环,这就是一个topo序

可以参考这道题目的代码,注意初始化的时候不能只初始化\(d[scc]\),因为入度为\(0\)的点可能不止一个

update 2024.5.30

这道题目要考虑重边的影响,因为题目中的子图的边是将所有与点集相关的边全部加入,所以重边要么全部加入,要么全部不加入,只算一遍(想想代码怎么写)

posted @ 2024-03-23 21:27  最爱丁珰  阅读(1)  评论(0编辑  收藏  举报