随笔分类 - 学习笔记
摘要:前排提示:先学习拓扑排序,再学习Tarjan有奇效。 Tarjan算法一般用于有向图里强连通分量的缩点。 强连通分量:有向图里能够互相到达的点的集合。(大概是这么个意思,自己意会) 因为能够互相到达,所以宏观上我们可以把它们看成一个点,边权也相应的加起来即可。 下面是Tarjan过程的代码解释: 我
阅读全文
摘要:拓扑排序适用于DAG(有向无环图)。它可以按照一定的遍历顺序将点重新排列,能减少算法的复杂度。 先要记录点的入度,将入度为0的点入列,然后与它相邻的点in[]--。如果已经为0,入列,以此类推。在遍历的同时将点按照遍历的顺序记录下来即可。 代码: while(!q.empty()) { int no
阅读全文
摘要:此篇笔记是我从自己的洛谷博客上搬运而来。更多的是偏向于做题的总结。 前言:简而言之,并查集是一种数据结构,带有一些限定条件,能够帮助计算机在很大的数据范围里很快得出结果。 此算法可以理解为”父亲“和”儿子“的关系。一个父亲可以有多个儿子,每个儿子只有一个父亲。 初始化:fa[i]=i。每个节点一开始
阅读全文

浙公网安备 33010602011771号