图上简单算法
本博客讲解图上简单算法,不包括图论基础、二分图、网络流、图上计数内容。
本文所指NP问题,是NP、NPC、NPH问题的统称。
最大团
NP问题。
最大独立集
可与一般图最大团互相转化,是NP问题。
注意不能转化为一般图最大匹配。
最大匹配
用带花树解决。复杂度\(O(n^3)\)。
边数与点数同阶的三元环计数
枚举每条边,再枚举这条边度数较小的端点的邻边,判断邻边的另一个端点与当前边另一个端点是否有连边。复杂度\(O(m\log m)\)。
还存在\(O(m\log n)\)的做法,这里不详讲。
一般三元环计数
用bitset存联通情况。复杂度\(O(\frac{n^2}{32})\)。
最小环
复杂度无法优化到\(O(n^2)\)以下。
平面图最小割
可转为其对偶图的最短路。复杂度\(O((n+m)\log n)\)。
与边数、路径长有关的\(n^3\)问题
倍增Floyd。
图的直径
用Floyd求或\(n\)遍Dijkstra求。