最大流最小割定理:移除最小边集使网络流中断的集值等于这个网络的最大流。建图: 第一个cpu 流向第i的 模块的流量为ai , 第i个模块流向 第二个cpu的流量为 bi 。模块之间连边 a->b= w b->a=w。#include #include #include #include #incl....
分类:
其他好文 时间:
2014-08-01 15:34:11
阅读次数:
281
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2414
Problem C
SAM I AM
Input: Standard Input
Output: Standard Output
The world is in gre...
分类:
其他好文 时间:
2014-08-01 13:51:41
阅读次数:
328
题意:
就在一个给定的无向图中至少应该去掉几个顶点才能使得s和t不联通。
算法:
如果s和t直接相连输出no answer。
把每个点拆成两个点v和v'',这两个点之间连一条权值为1的边(残余容量)
v和v''分别是一个流进的点,一个流出的点。
根据求最小割的性质,权值小的边是可能被选择的(断开的)。
添加源点st=0和汇点en=2*n+1,源点与s连权值为i...
分类:
其他好文 时间:
2014-08-01 13:38:42
阅读次数:
165
一个CPU有两个核,要把n个模块放在其中一个核上,给出放在不同核上的花费。
另给出m对模块,若不放在同一模块则会产生额外花费。求最小花费。
对于每一个模块可以选择核1,核2,和相连的模块。
据此建边,核1为源点,核2为汇点,相连的模块之间建双向边,边权均为花费。求最小割即可。
#include
#include
#include
#include
#includ...
分类:
其他好文 时间:
2014-08-01 09:18:11
阅读次数:
184
题意:
一个m*n大小的网格,已知伞兵着陆的具体位置(行和列)。现在在某行(或某列)
安装一架激光枪,一架激光枪能杀死该行(或该列)所有的伞兵。在第i行安装一架
激光枪的费用是Ri,在第i列安装的费用是Ci。要安装整个激光枪系统,总费用为这些
激光枪费用的乘积。
求杀死所有伞兵的最小费用。
构图:
把伞兵视为边,行与列视为顶点。增加源点和汇点,对于第i行,从源点向顶点i连...
分类:
其他好文 时间:
2014-07-31 13:35:26
阅读次数:
167
题目是一个很明显的二分图带权匹配模型,
添加源点到nx建边,ny到汇点建边,(nx,ny)=inf建边,求最小割既得最小点权覆盖。
在本题中由于求的是乘积,所以先全部取log转换为加法,最后再乘方回来。
#include
#include
#include
#include
#include
#include
#include
#include
#include ...
分类:
其他好文 时间:
2014-07-31 09:55:56
阅读次数:
258
无向图最小割stoer-wagner算法的详细说明和AC模板...
分类:
其他好文 时间:
2014-07-29 22:09:22
阅读次数:
449
建模的思路大概是这样的,把房间当做点,门当做是边,如果从房间A能到房间B中间有一个门,如果锁在A这边那么A->B容量就是INF,B->A的容量就是1。攻击者如果在A这边的话显然就算你锁了门也是没有意义的,在B这边如果锁上是有意义的,所以算1个门,然后就很简单了,建立源点到所有攻击者点的边,容量为IN...
分类:
其他好文 时间:
2014-07-29 10:28:08
阅读次数:
180
很裸的判断最小割是否唯一。判断方法是先做一遍最大流求最小割,然后从源点和汇点分别遍历所有能够到达的点,看是否覆盖了所有的点,如果覆盖了所有的点,那就是唯一的,否则就是不唯一的。#include #include #include #include #include #include #include...
分类:
其他好文 时间:
2014-07-28 23:55:24
阅读次数:
570
给以一个图和两个点S,T,问你拿掉最少多少个点可以使得S和T不连通。输出点数并且输出拿掉的是哪些点,如果有多种方法就输出字典序最小的那个。这就是一个求最小点割集的问题。无向(有向)图G中,给定源点s和终点t,至少要删去多少个点(具体一点,删哪些点),使得s和t不连通。这个问题就是点连通度,也叫最小点...
分类:
其他好文 时间:
2014-07-28 19:13:24
阅读次数:
263