图论知识总结

来源:互联网 发布:软件系统安全 编辑:程序博客网 时间:2024/06/01 16:45

总结一下图论的知识点几个大的分区

1:网络流

2:强连通分量,割点和桥

3:最短路

4:最小生成树

5:图论的小知识点

 

 

 网络流

一:最大流问题

现在很多都是配合二分通过网络流进行判定,单独的网络流,就是以流作为方案就好。//这一部分就是通过做题,积累就好

二:费用流问题

是在满足最大流的条件下,费用最小,这里的最大流一般就是一种条件(体会,保证图中满流或保证流量最大,的情况下的费用最小,这里是表示条件)。

三:最小割

二者取其一式、最大权闭合子图

 

//主要的思想还是通过复习以前的题目,和多做题,强化

 

强连通分量

很多强连通分量,都是配合着缩点来搞,然后依据有向无环图的一些性质,通过一些其他的方法来处理(DAG上dp,DAG上记忆化,DAG性质)

割点和桥(只做过模板题)

 

最短路

求最少步数,也就是给出的图边长为1,这样的图中求最短路,这种的bfs就可以解决,不需要跑最短路。

差分约束系统:形如ai-aj<=k这样的约束,求最大或最小值的题,注意有的情况会需要超级源的技巧。

建模:最短路的建模做的不多,可以分为点权最短路,和普通的边权最短路,一般就是将状态构成点,有联系的状态之间连边,边权就是转移的费用,由此实现初始向目标的最短路。

技巧:首先最短路还有包括网络流中有一个很重要的技巧(70分到100分的区别),就是有些图我们加边,我们将全部的边(n^2级)加进去,但是分析性质可以发现只需要加O(n)级数量的边就可以,实际上就是排除一些不需要的边以进行优化——bzoj4152

 

最小生成树

性质(都可以根据克鲁斯卡尔过程证明出来)

1:最小生成树一定是一个最小瓶颈生成树(最大边最小),最小生成树上的任意两点之间的路径一定是最小瓶颈路

2:图中环上的最大边,最小生成树一定不包含它;

3:生成树中若再加一个边,就一定会构成一个环,若要再构生成树,也一定要删除环中的一个边,由此可以做次小生成树。

TA整理的经典最小生成树笔记http://blog.csdn.net/ta201314/article/details/40825539

其重要思想加边构环判定大小

应用

1:最小生成树在很多时候是,在题目当中作为初始化的辅助用,然后再套上别的算法(例:货车运输 MST+倍增),当然这一般是类似贪心的思想,证明都是根据最小生成树的性质。(货车运输——性质1),//注意货车运输求得是最大生成树,算法没有什么区别

2:考察建模:bzoj1601(超级源技巧)//习题不够

3:考察性质与猜想:bzoj1821(需要练习)

 

矩阵树定理(未学)

 

图论小知识点

找环:首先判环的话有dfs判环(tyvj模拟赛,t3)和拓扑判环,其中最小环是通过floyd来求的。//待填坑

2-SAT

拓扑排序,拓扑序dp。:总是作为一个成分参与题目的一部分,辅助进行解题。

还有在题目中遇到一些没见过的图论的题和新定义,可以尝试进行推断分析该类型图的性质,以便于解题。

 

总说图论:

在图论的建模当中,通用且常有的技巧有

1:分点技巧

2:超级源技巧

3:减边,优化复杂度技巧

0 0
原创粉丝点击