首页 > 代码库 > 图论复习...

图论复习...

对于DIJ

如果边数远小于n^2,对此可以考虑用堆这种数据结构进行优化,取出最短路径的复杂度降为O(1);每次调整的复杂度降为O(elogn);e为该点的边数,所以复杂度降为O((m+n)logn)

(V+E)log(V)

 

最短路应用

次短路,k短路,最短路径数量,判断负环

负权图(无正边,求最长路

//log 将乘法转换成加法 loga+...+logz=log a*...*z

 

并查集...

kruskal ElogE+E*alpha(V)

Matrix Tree定理计算生成树计数

所有最小生成树的边权集合相等

 

枚举最小边,最小边最大...求MST

 

二分图

所有的奇环都不是二分图,所有的偶环都是二分图

有多少种方案只删一条边使这个图变成二分图

如何判断一个图是二分图,黑白染色判断冲突

 

二分图最大匹配

左边超级源,右边超级汇

容量都为1,Dinic最大流跑一遍

 

匈牙利算法(网络流退化版,不断找增广

最优匹配(KM,费用流)

独立集中的点,任意两个没有连边

最大团:点集中,任意两个点都有边相连

 

图论复习...