这题卡了好久啊,最小割模型很容易想,拆点就行。就像poj的Thieves一样
每个点 a拆成 a->a',容量为1。
其他相连的点 a'->b ,容量为INF
源连接s',t连接汇
问题在于输出最小的割集
更好的方法我还不会,只能枚举。
这里基于贪心的思想,从小到大删边,
若删除i->i',会使得最小割变小,则输出i,并且i->i'这条边不要恢复
若最小割不变,则恢复这条边...
分类:
其他好文 时间:
2014-07-28 16:15:43
阅读次数:
283
不懂这个建模是什么原理,以后把二分图相关的东西看完再补上把= =#include #include #include #include #include #include #include #include #include #include #include #include #include u...
分类:
其他好文 时间:
2014-07-28 14:49:43
阅读次数:
200
最大权闭合图详细请看胡伯涛论文《最小割模型在信息学竞赛中的应用》,我在这里截图它的定义以及一些东西。假设我们有一个图,点集的出边都是连到点集的,那么称这个为闭合图。现在这些点集都有个权值,我们要选择某个闭合图使得权值最大。回到此题:最大获利这一题,我们可以这样看,用户群和中转站为带权的点集,用户群的...
分类:
其他好文 时间:
2014-07-28 02:52:59
阅读次数:
270
据说这道题目是个很经典的题,好多人测最大流算法效率都是用的这题,只会dinic的弱菜第一法果断tle了,把vector改成数组了时候5s过。下次什么时候学了isap在写一遍把#include #include #include #include #include #include #include ...
分类:
其他好文 时间:
2014-07-27 22:54:09
阅读次数:
247
题目地址:HDU 1565 HDU 1569
刚开始接触最小割,就已经感受到了最小割的博大精深。。。
这建图思路倒是好想。。因为好多这种关于不相邻的这种网络流都是基本都是这样建图。但是感觉毫无道理可言。。。看了题解后才明白这样做的意义。
下面是题解中的说法。
大概是这样分析的,题义是要我们求在一个方格内取出N个点,使得这N个独立的(不相邻)点集的和最大。我们可以将问题转化为最小...
分类:
其他好文 时间:
2014-07-27 11:29:32
阅读次数:
249
首先经典的奇偶建立二分图(X,Y),对于相邻两点连边2*(X&Y),源->X连边,Y->汇连边,权值w为点权,求最小割。
考虑一条路径 源->X->Y->汇
若割边选取的是源->X,则表示选Y点不选X点, 答案为w(X+Y)-w(X)
若割边选取的是Y->,则表示选X点不选Y点, 答案为w(X+Y)-w(Y)
若割边选取的是X->Y,则表示选Y点且选X点, 答案为w(X+Y)-w( 2...
分类:
其他好文 时间:
2014-07-27 11:15:02
阅读次数:
322
题目地址:HDU4859
做了做杭电多校,知识点会的太少了,还是将重点放在刷专题补知识点上吧,明年的多校才是重点。
这题题目求的最长周长,可以试想一下,这里的海岸线一定是在“.”和“D”之间的,也就是说求最多的相邻的“.”和“D”的配对对数。可以先转化成最小割求最小配对对数,因为总对数是一定的,只需要减去就行。
要先对周围填充上一圈的“D”,然后变成了一个(n+2)*(m+2)的矩形。因为要...
分类:
其他好文 时间:
2014-07-23 17:03:13
阅读次数:
288
很容易发现是网络流的题目,但最少边怎么求呢?初时想不到,但画图后忽然发现可以这样:求一次网络流最小割后,把满流的边置1,不满流的置INF。再求一次最大流即可。为什么呢?是否会存在一些边当前不满流,但有可能是最少边数最少割的边呢?否。因为按照DINIC的求法,每次都是增广容量最少的路,若当前不满流,则...
分类:
其他好文 时间:
2014-07-22 22:43:13
阅读次数:
357
强烈建议阅读一下最小割模型在信息学竞赛中的应用
其中2.2.2的Optimal Marks一题和此题建模非常相像。
在原图外围虚拟一圈‘D’,我们要最大化的周长,就可以等价为最大化相邻的'D'和'.' 的总对数,也就是最大化相邻格子不同类型的总对数。
按照论文中的建图方式,我们可以最小化相邻格子不同类型,
反过来想,稍微改变一下建图,就可以最小化相邻格子相同类型
建图:
将地图奇偶建图...
分类:
其他好文 时间:
2014-07-22 22:39:35
阅读次数:
244
无向图最小割。 1 #include 2 #include 3 #include 4 using namespace std; 5 6 const int MAXN=150; 7 const int inf=10000000; 8 int vis[MAXN],combine[MAXN],wa...
分类:
其他好文 时间:
2014-07-22 00:04:36
阅读次数:
224