首页 > 代码库 > 网络流笔记

网络流笔记

最小点覆盖:选一些点,这些点能覆盖所有的边

最大独立集:选一些点,互不为自己的邻居

最近做了些网络流

网络流24题*5

bzoj 1412

最小割:s->1 1->2 1->0 0->2 2->T 

因为我们要把这些点分成两个集合,一些点是羊的范围,一些点是狼的范围,因为要把图分成若干个块,所以空地和空地也要连 

比如说

4 1

1

0

0

2

空地不连就炸了

bzoj 1497

这道题是个很有意思的模型

建图:ans=sigma(1,m,c[i])

ins(s,顾客,c) ins(顾客,塔,inf) ins(塔,T,p)

然后ans-最小割

为什么是对的呢?因为我们想要满足一个人,必须买两座塔,那么也就是把塔到T的两条边割掉,如果不满足,那么就把s和顾客的边割掉,对于一个顾客,他到T的路径只有两条,如果我们只割掉一条,剩下两条不割,那么很明显,这个图还可以增广,如果我们割掉两座塔,那么自己的c就肯定不会割掉了,因为到T的路径已经被堵掉了,如果把c割掉了,那么两座塔就可割可不割,因为至少这条道路被割掉了

网络流笔记