15145641

摘要: 题意:给我们一个图,问我们最少能把这个图分成几部分,使得每部分内的任意两点都能至少保证单向连通。 思路:使用tarjan算法求强连通分量然后进行缩点,形成一个新图,易知新图中的每个点内部的内部点都能保证双向连通,而新图中的点都是单向无环的,这个时候题目中要求的划分部分的条件,其实就是求最短路径覆盖( 阅读全文
posted @ 2016-05-21 21:45 icode-xiaohu 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 题意:判断题目中给出的图是否符合两个条件。1 这图只有一个强连通分量 2 一条边只能出现在一个环里。 思路:条件1的满足只需要tarjan算法正常求强连通分量即可,关键是第二个条件,我们把对边的判断转化为对点的记录,在tarjan深搜的过程中,使用fa数组记录一下搜索的过程,即每个节点的父子关系,当 阅读全文
posted @ 2016-05-21 20:24 icode-xiaohu 阅读(611) 评论(0) 推荐(1) 编辑
摘要: 思路:使用tarjan算法求出割点,在枚举去掉每一个割点所能形成的联通块的个数。 注意:后来我看了下别的代码,发现我的枚举割点的方式是比较蠢的方式,我们完全可以在tarjan过程中把答案求出来,引入一下讨论: 如果这个割点是根节点,在tarjan算法中搜到几个孩子结点(low[v] >= dfn[u 阅读全文
posted @ 2016-05-21 19:05 icode-xiaohu 阅读(460) 评论(0) 推荐(0) 编辑