Tarjan算法 应用: 有向图的强连通分量 无向图割点和桥 双连通分量 接下来主要谈论前面两者的应用(~~主要是第三种还没学会~~) 算法简要介绍 我们需要先理解一下知识:搜索树 有向图的搜索树的4种边,如下图所示: tree edge:在dfs搜索u的过程中,第一次搜索v,则(u,v)是树边 f ...
分类:
其他好文 时间:
2018-09-03 00:06:11
阅读次数:
213
传送门 本题的标算是并查集查找连通块的个数,为了练习下Tarjan,就用Tranjan写一波; 思路:tarjan 观察题目,市政府“村村通工程”的目标是使全市任何两个城镇间都可以实现交通,表明图为多个联通块,因为是无向边,所以每个联通块一定是一个强连通分量(显然)。 那么问题就变成了 查找联通块, ...
分类:
其他好文 时间:
2018-09-02 00:09:14
阅读次数:
162
Kosaraju两次深搜实现强连通分量 kosaraju算法进行两次dfs,第一次在原图上进行,并在结点递归调用返回时将结点压入一个栈中,第二次dfs在原图的逆图上进行,并且初始点选择栈中最上面的点,每次dfs所访问的点构成一个强连通分量。 第一次看kosaraju算法的时候,我很不解,为什么第二次 ...
分类:
其他好文 时间:
2018-08-30 13:43:03
阅读次数:
147
int dfn[16]; // 时间戳 int dfn_num = 0; // 时间 int low[16]; // 节点u所能访问到的最小时间戳 int inSt[16]; // 节点u是否在栈中. int st[16]; int top = 0; // 我们维护的信息. int col[16];... ...
分类:
编程语言 时间:
2018-08-29 16:05:44
阅读次数:
153
强连通图 : 强连通分量就是本身 有向图 > 非强连通图 : 多个强连通分量图 > 连通图 : 连通分量就是本身 无向图 > 非连通图 : 多个连通分量 路径 : 顾名思义. 路径长度 : 路径上边的数量. 连通 : 无向图顶点A可以到顶点B,则称A,B连通. 连通图 : 图中任意两点都连通的图. ...
分类:
其他好文 时间:
2018-08-29 01:02:11
阅读次数:
230
嘟嘟嘟 这道题有一个特别重要的一点,就是节点数为 n 的图只有 n 条边,于是就有一下几个性质: 1.每一个点的出度都为1。 2.一个k个节点的强连通分量都是有k条边的环,而且这个环不会通往其他的点,只可能有别的点通往这个环。 所以说,对于一个在环中的点,答案就是这个环的节点数(包括自环),对于一个 ...
分类:
其他好文 时间:
2018-08-25 18:41:55
阅读次数:
243
一、边双连通分量 定义 若一个无向图中的去掉任意一条边都不会改变此图的连通性,即不存在桥,则称作边双连通图。一个无向图中的每一个极大边双连通子图称作此无向图的边双连通分量。 实际求法和强连通分量差不多,只是要注意由于一条无向边被分为两条有向边存储,所以在经过其中一条从u到达v之后不能再通过另一条边由 ...
分类:
其他好文 时间:
2018-08-23 20:57:59
阅读次数:
157
Description A number of schools are connected to a computer network. Agreements have been developed among those schools: each school maintains a list ...
分类:
编程语言 时间:
2018-08-22 21:54:38
阅读次数:
199
题意:一张有向图,每条边上都有wi个蘑菇,第i次经过这条边能够采到w-(i-1)*i/2个蘑菇,直到它为0。问最多能在这张图上采多少个蘑菇。 分析:在一个强连通分量内,边可以无限次地走直到该连通块内蘑菇被采完为止,因此每个强连通分量内的结果是确定的。 设一条边权值为w,最大走过次数为t,解一元二次方 ...
分类:
其他好文 时间:
2018-08-17 20:08:46
阅读次数:
138
题目大意 给出一个有向图,问将图中的哪一个边翻转,会使节点1所在的强连通分量内的节点数最多。输出这个节点数。 题解 让我们看看暴力怎么做,即枚举每一条边,将其翻转,然后求节点1所在强连通分量节点数,然后取最大值。我们看到如果一条边连接的两个节点位于同一个强连通分量中,那么将这条边翻转只可能拆解已有的 ...
分类:
其他好文 时间:
2018-08-12 15:37:05
阅读次数:
178