
网络流&二分图匹配
cjk_cjk
这个作者很懒,什么都没留下…
展开
-
BZOJ1001 [BeiJing2006]狼抓兔子(网络流最小割)
题目可以转化为:选出一个边集,使得去掉它之后,(1,1)与(n,m)不通 即:以(1,1)为源,(n,m)为汇,求该图最小割 不过由于节点过多,直接对输入的图求最小割的话会超时 转化:求它的对偶图,然后求最短路,见图,红字为点编号,绿线为建的边(边权为其经过的原图的边的权值)注意:1.计算出转化后点数、边数的范围(易错!) 2.n==1 或 m==原创 2015-01-05 01:45:22 · 1279 阅读 · 1 评论 -
[NOI2010]海拔(最小割)
【题解】先寻找每个点的最优高度范围:首先每个点的海拔不可能比周围四个点都高或都低,然后设某点高度为x,假设围四个点高度已知,随便考虑几种情况,可以发现:总体力值关于x单调(增或减)因此可以得出结论:每个点的海拔都与周围的某个点相同 => 可以推出(我是猜出)每个点高度都是0或1,且按高度标记每个点后,图上只有2个连通块 然后就是熟悉的最小割转最短路了,给每个域编号后建新原创 2015-04-01 00:03:26 · 679 阅读 · 0 评论 -
[NOI2012]美食节(费用流+动态开点)
【题解】费用流:首先确定:每一单位的流量代表一位厨师做一份菜品,费用代表花费的时间 每位厨师做同一道菜,每一份时间也是不同的,因此将每个厨师拆成p个点 建边需要确定的费用,而后做的才对先做的菜是没有影响的,所以倒着处理,拆成的第i个点表示每位厨师做的倒数第i道菜 建图:s -> n种菜品 容量为pi,费用为0第i种菜品 -> 第j位厨师拆成的第k个点 容量为1,原创 2015-04-26 01:02:22 · 581 阅读 · 0 评论 -
BZOJ1854 [Scoi2010]游戏(并查集/二分图匹配)
【题解】将一个装备抽象成一条边,它连接着编号为其属性值的两个结点 这样,取装备等价于取边; 每个装备只能用一次,等价于在每条边上仅能取一个端点 因此,连好所有的边,构成一个个连通块,它们产生了这样一条性质:对于某一连通块,若其为一棵树,则它的所有结点(属性值)中,只有一个不能取。(因为树的边比点少一,每条边上只能取一个点)原创 2015-06-28 23:30:49 · 805 阅读 · 0 评论 -
[NOI2009]变换序列(二分图完美匹配)
【题解】容易想到:在每个点i与满足dis(i,j)==D[i]的点j间连一条边,这样构成了一张二分图 那么题目转化为:二分图是否存在完美匹配?·否:No Answer·是:记 1,2,…,n 的匹配点为 T[1],T[2],…,T[n],输出一组字典序最小的 T[1],T[2],…,T[n]在匈牙利算法中:扩展增广路的过程中,那些匹配点改变的点都是已经匹配上的点(以原创 2015-05-01 22:13:54 · 578 阅读 · 0 评论 -
[NOI2009]植物大战僵尸(最大流)
我冒着明天困屎= = 的危险写了这道题和题解【题解】最大权闭合子图模型,注意同一排里面的植物可以保护外面的若A能保护B,就连边 A->B,容量无穷大,将s与所有正权点相连,所有负权点与t相连,容量都为点权的绝对值还要注意若A,B互相保护,即图上有环,或环能保护一个点,则它们都不可能取!预处理时把它们都删掉。这个预处理只需记录入度,拓扑排序即可。再注意,千万别把s和t也考虑进原创 2015-07-05 08:08:16 · 824 阅读 · 0 评论