几日网络流的学习笔记

最大权闭合图的经典题目
POJ 2987 Firing
目前关于discuss里讨论的边权扩展还是不理解,不过此题是十分经典的类型
ZOJ 2071 Technology Trader
要求输出解,最大权闭合图的建图,s连所有的正权点,t连所有的负全点,跑完网络流后从s做一次bfs,所有遍历到的点就是闭合图点集。
闭合图的题比较多,很理解和学习。

最小割的总结
1.前一篇写过了一些关键割的求法,再说一下一个类型题
2.Dual Core CPU POJ的一个经典的模板题,体现了网络流中最小割的思想,该图的任何一个割集代表了一个工作安排。对于一类最小割的题目要注意分析最小割在题目中的意思

同类型的题还有

ZOJ 2539 Energy Minimization
spoj 839 Optimal Marks(好题)

上述模型的抽象形式,比较隐晦的建图

3.还有一道非常类似最大权闭合图的最小割的题目
ZOJ 3241 Being a Hero 没能自己完成
把所有能own的点都连向题,其他的边如题目连接,可以看到这个图的割是使得与t相连的点集合和s不相连的一个组合,所以答案位sum(wi) - 割,前者是个常数,所以要求最小割即可。
再求cut(S,T) S是和源点s联通的点集,T是余下的点
深入的思考一下,如果S集合中有于t相邻的点,那么这个点,便是不能取的点。

4.最大点权独立集
给懂矩阵上的带正权的点,要求选取权值和最大一些点,他们不相邻。
HDU 1565 方格取数(1) (最大点权独立集)
HDU 1569 方格取数(2) (最大点权独立集)
很明矩阵是一个二分图,那么最大点权独立集在二分图上就不再是一个NPC的问题了。
染色,一种颜色连s一种连t,相邻的点边权位INF,然后网络流一下,网络流的割就是不能选的点,所以答案为所有的权值减去最小割
SOJ3185 Black and white也是该类型的题,我的判断条件写错了很多次,导致不能AC……发现自己真的是很马虎
(正确的判断是一个矩形的左下在另一个左下和右上之间,注意由于是share area所以相等的情况不行)

5.最小割的唯一性判定
只有一道题 ZOJ 2587 Unique Attack
如果唯一的话,那么从残留网络中源点和汇点做一次dfs(汇点是看反向边得),如果有一个点没有被访问就表示在参与网络中他s不能流到他,且它流不到题,那对应原网络中的两边的边都可以删掉!!

6.最小点割集 以及点连通度
POJ 1966 Cable TV Network (无向图点连通度)
HOJ 2811 Earthquake Damage (最小点割集)
貌似题很少
方法就是拆点化点权为边权,正常的边的权值全为INF,需要注意的是点连通度一定要枚举源点和汇点,所以效率很低的说,还有就是不能转化为无向图最小割的模型(也就我这么傻,往这里想)……

还有一些其他的内容有待总结……总之网络流还是非常灵活的,需要多思考多练习。
回头看看自己写的心得体会都这么虚……看不出什么思想来,和牛们的差距还是太明显了。
另外一道上下界最大流被卡死了……怀疑spj的问题,考的很少也得学习……
接下来是切完剩下的最小割就是费用流和分数规划的网络流了(参数搜索考的更少……)
这10多天的网络流都写吐了,但是感觉进步不大,学到了一些简洁的写法,建图的能力提升不够高,各种模型的识别能力还是有待提高的,这些需要考以后的比赛磨练,加油~~今年的regional一定更加的强

你可能感兴趣的:(学习笔记)