由于到达关系具有传递性,可以考虑不断将若干个可以相互到达的点缩点,并且当两个点只能单向到达时,能到达另一个点的点一定不是最小值 由此,我们来考虑dfs,即不断从一个节点开始,遍历其可以到达的点,当发现了环即将这些点合并(启发式合并),当发现了已经完全搜过(不在栈中)的点即一定不能作为最小值 在实现上,有一些困难,注意以下细节: 1.对每一个点还要维护一个钥匙集合,也参与启发式合并 2.启发式合并时可能有新的边可以到达,在加入时判定即可 3.由于要弹出元素,且不像强连通分量一样保证必然弹出,因此建…