摘要:
go to the problem 割点:在一个无向图中,如果有一个顶点集合,删除这个顶点集合以及这个集合中所有顶点相关联的边以后,图的连通分量增多,就称这个点集为割点集合。 如果某个割点集合只含有一个顶点X(也即{X}是一个割点集合),那么X称为一个割点。 割点:在一个无向图中,如果有一个顶点集合 阅读全文
摘要:
时间复杂度 O(n+m) dfs 求解。 定义 dfn[n]为n当前的时间戳,low[n]为n最早能追溯到的时间戳,可知 若回溯时 dfn[n]==low[n],即找到了一个强连通分量。如图 注意一个点也会被看做强连通分量。 若有环套环的情况,tarjan求的是最大的那个。 另外判断Instack是 阅读全文
摘要:
定义:对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边(u,v)∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称为满足拓扑次序(Topological Order)的序列,简称 阅读全文
摘要:
定义:如果一个系统由n个变量和m个约束条件组成,形成m个形如 ai - aj ≤ k 的不等式(i,j∈[1,n],k为常数),则称其为差分约束系统(system of difference constraints)。亦即,差分约束系统是求解关于一组变量的特殊不等式组的方法。 栗子:给出这样的一组不 阅读全文
摘要:
一条前往题面的隧道 简洁题面 第一行给出N(点数),M(边数)(1 <= N <= 1000, 0 <= M <= 100000).。 下面的M行每行给出三个数Ai,Bi,Ti,表示从A到B有一条权值为T的单向边。 最后给出S,T,K,表示求S到T的第K短路。 special: 起点与终点相同时,S 阅读全文
摘要:
floyd 算法 Floyd算法又称为插点法,是一种利用动态规划的思想寻找给定的加权图中多源点之间最短路径的算法,与Dijkstra算法类似。该算法名称以创始人之一、1978年图灵奖获得者、斯坦福大学计算机科学系教授罗伯特·弗洛伊德命名。(摘自baidu) 时间复杂度 : O (n^3); 空间复杂 阅读全文
摘要:
什么是图|ω・`) 图G是一个有序二元组(V,E),其中V称为顶集(Vertices Set),E称为边集(Edges set),E与V不相交。它们亦可写成V(G)和E(G)。 E的元素都是二元组,用(x,y)表示,其中x,y∈V。 (摘自百度百科) 简单来说,图就是由点和边组成的东西。也可以理解为 阅读全文