图论
文章平均质量分 76
清梦2020
计算机菜鸟一枚....
展开
-
图论 Tarjan算法求 割点
Tarjar算法可以解决很多连通性问题,我的上一篇文章是用Tarjan解决强联通分量问题。我们用dfn[ ]数组记录一个节点的遍历编号,也就是第几次遍历到的点。low[ ]代表一个节点能到达最小的点,不经过父节点。比如1.第一种情况是判定普通节点是否为割点。我们从节点1做为起点开始遍历,到2这个点发现有其他路可以到1。同理3节点也有路到他的祖先。这时暂时判定3不是割点,但是2还有为遍历的点。到节点4的时候,发现low[4]>=dfn[2],且2不是起始节点,那么我们判定2是割点。2.第二种原创 2022-05-21 21:34:48 · 911 阅读 · 0 评论 -
洛谷 P1262 间谍网络 Tarjan缩点例题+模板 Java实现
题目描述 由于外国间谍的大量渗入,国家安全正处于高度的危机之中。如果 A 间谍手中掌握着关于 B 间谍的犯罪证据,则称 A 可以揭发 B。有些间谍收受贿赂,只要给他们一定数量的美元,他们就愿意交出手中掌握的全部情报。所以,如果我们能够收买一些间谍的话,我们就可能控制间谍网中的每一分子。因为一旦我们逮捕了一个间谍,他手中掌握的情报都将归我们所有,这样就有可能逮捕新的间谍,掌握新的情报。 我们的反间谍机关提供了一份资料,包括所有已知的受贿的间谍,以及他们愿意收受的具体数额。同时我们还知道哪些间谍手中..原创 2022-05-21 13:04:36 · 346 阅读 · 0 评论