![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
最小割
文章平均质量分 56
CR1SceNT
这个作者很懒,什么都没留下…
展开
-
BZOJ1797: [Ahoi2009]Mincut 最小割
题目链接【分析】刚这个题刚了一早上,终于懂了一些。 结论: 在残量网络中跑tarjan后,对每条满流边(u,v): ①(u,v)能够出现在某个最小割集中,当且仅当Belong[u]!=Belong[v]; ②(u,v)必定出现在最小割集中,当且仅当Belong[u]==Belong[S ]且Belong[v]==Belong[T]。为什么呢? 先说②:这代表从S–>u有通路,v–>T有通路原创 2016-12-21 10:46:33 · 380 阅读 · 0 评论 -
BZOJ4177: Mike的农场
BZOJ4177MDMD考的时候还想半天,这TMTM不就是文理分科吗。真的sbsb了。赶紧退役算了。。 SS向nn个点连边(S,i,ai)(S,i,a_i) nn个点向TT连边(i,T,bi)(i,T,b_i) 对于mm每条规则(i,j,k)(i,j,k),连边(i,j,k)(i,j,k)和(j,i,k)(j,i,k) kk个额外收益,如果是都取aa获得收益,就建新点,SS连向新点,然后该点原创 2017-06-16 10:06:34 · 664 阅读 · 0 评论 -
BZOJ2521: [Shoi2010]最小生成树
BZOJ2521QAQ一开始看到这个题就想到了BZOJ2561 然而瞬间否定,这两个题应该不太一样。神flag!flag! 先说说一开始错的想法错在哪吧。。 可以直接passpass: (一开始想的是类似次小生成树的做法,先做最小生成树,排序时若有多个边长与z[lab]相同的边,把lab放到最后,然后MST,如果边lab没出现,直接返回。然而发现这样还是有可能有其他解使得不考虑边lab,MS原创 2017-05-29 11:00:29 · 850 阅读 · 0 评论 -
POJ3155:Hard Life
题目链接【题意】最大密度子图,并求方案。【分析】二分答案ans。 ans=sumE/sumV sumE-ans*sumV取最大值,若 >=0 就满足条件。 由于边和点有依赖关系,一条边依赖于两点,所以可转化为最大权闭合子图。 边为正权1,点为负权ans。判断(正权和-最小割)的正负。先吐槽:卡精度的题先S个M。刷了poj一页。最后XJB乱改乱搞莫名其妙才A了。【代码】#include <io原创 2017-01-22 23:36:56 · 278 阅读 · 0 评论 -
POJ2125:Destroying The Graph
题目链接【题意】给一张有向图,现在要选择一些点,删掉图中的所有边。具体操作为:选择点i,可 以选择删除从i 出发的所有有向边或者进入i 的所有有向边,分别有个代价ini 和 outi,求最小的代价删掉所有边。并输出删除方案。【分析】一条边不是被入点删掉,就是出点。就可以拆点构二分图,然后最小割。 方案? 考虑残量网络,从S做BFS,那么对于左侧被选中的点,就是level值为0,及由S连向它的原创 2017-01-22 23:23:20 · 319 阅读 · 0 评论 -
最小割基本模型及解决方案
最小割概念割:如果从图G中删除一个弧的集合c{f},让S流不到T,那么这个集合成为图G的一个割。记做C(S,T),S,T为点集。正向割边:对于集合c中的一条弧f{u,v}(u指向v)如果u∈S,v∈T则成为正向割边。逆向割边:对于集合c中的一条弧f{u,v}(u指向v)如果u∈T,v∈S则成为逆向割边。割的容量:割C{S,T}中所有正向割边的容量和称为割的容量。最小割:容量最小的割Ci{S原创 2016-12-19 12:04:07 · 1893 阅读 · 0 评论 -
BZOJ2127: happiness
题目链接同BZOJ3894。。。 具体见BZOJ3894【代码】#include <cstdio>#include <iostream>#include <queue>#include <vector>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#define N 50005#defi原创 2016-12-19 20:50:28 · 374 阅读 · 0 评论 -
BZOJ2561: 最小生成树
题目链接【分析】刚开始可能难以下手,先只考虑最小生成树。 要使新加的边【代码】#include <cstdio>#include <iostream>#include <queue>#include <vector>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#define N 2000原创 2016-12-20 10:55:54 · 461 阅读 · 0 评论 -
BZOJ3996: [TJOI2015]线性代数
题目链接【分析】一开始看到转置我就mengbi了。。哎还是太弱了~ 设A为m×n阶矩阵(即m行n列),第i 行j 列的元素是a(i,j),即:A=a(i,j) 定义A的转置为这样一个n×m阶矩阵B,满足B=a(j,i),即 b (i,j)=a (j,i)(B的第i行第j列元素是A的第j行第i列元素),记A’=B。(有些书记为AT=B,这里T为A的上标) 直观来看,将A的所有元素绕着一原创 2016-12-21 11:52:07 · 305 阅读 · 0 评论 -
BZOJ1532: [POI2005]Kos-Dicing
题目链接【分析】二分网络流,一眼题。自己蠢蠢的开小数组贡献两次WA~【建图】二分答案S向每场比赛连边,容量1;每场比赛向参赛双方连边,容量1;每个人向T连边,容量mid(二分值);【代码】#include <cstdio>#include <iostream>#include <queue>#include <vector>#include <algorithm>#includ原创 2016-12-20 09:55:04 · 404 阅读 · 0 评论 -
BZOJ3894: 文理分科
题目链接【分析】很显然的最小割。首先很容易想到将文理分成两个集合构图。但是一开始一直没出具体方法,看网上大神题解也不太理解。还好身边有位大爷抬了我一手,也让我对最小割有了更深刻的理解。如果某个集合内的人都学文会获得一个满意度,那么就新加一个点,将集合内的所有人向这个点连流量为正无穷的边,再从这个点向T连一条流量为都选理满意度的边,表示集合内任意一个人学理都要把这个点与T的边割掉。可能不太好理解原创 2016-12-19 19:45:58 · 533 阅读 · 0 评论 -
BZOJ1391: [Ceoi2008]order
[Ceoi2008]orderDescription有N个工作,M种机器,每种机器你可以租或者买过来. 每个工作包括若干道工序,每道工序需要某种机器来完成,你可以通过购买或租用机器来完成。 现在给出这些参数,求最大利润。构图方法若不考虑租借,则是裸最大权闭合子图。那么这题就需要考虑如何修改建图方式,使得“可以选x的时候可以不选y,但要付出一定代价”。只需将中间相邻的边权为INF的边,容量改为原创 2016-12-19 15:04:03 · 447 阅读 · 0 评论 -
BZOJ2132: 圈地计划
题目链接【题目】Description最近房地产商GDOI(Group of Dumbbells Or Idiots)从NOI(Nuts Old Idiots)手中得到了一块开发土地。据了解,这块土地是一块矩形的区域,可以纵横划分为N×M块小区域。GDOI要求将这些区域分为商业区和工业区来开发。根据不同的地形环境,每块小区域建造商业区和工业区能取得不同的经济价值。更具体点,对于第i行第j列的区域,原创 2016-12-19 16:18:42 · 341 阅读 · 0 评论 -
BZOJ1324: Exca王者之剑
题目链接【分析】很容易发现,若可以移动,则每次不会选择原地不动。所以,偶数秒时,拿走宝石,四周的消失,奇数秒时,移动到没有宝石的格子。即相邻格子最终无法同时取到。所以就是方格取数问题,最小割解决。【建图】黑白染色,S向黑格连边,流量为点权值;白格向T连边,流量为点权值;黑格向四周白格连边,流量INF;【代码】#include <cstdio>#include <iostream>#inc原创 2016-12-20 11:32:04 · 400 阅读 · 0 评论 -
BZOJ3158: 千钧一发
题目链接【分析】某两样物品之间若满足某些条件则无法同时获取,显然最小割。 这个题其实和BZOJ3275几乎相同。。。【建图】我刚开始蠢蠢的做法,还是拆点,对于点x,S向x’连边,流量b[i],x”向T连边,流量为b[i],对于每一对不能同时取得点i,j,连边i’–>j”,j’–>i”,流量均为INF。答案=(∑b[i]*2-最小割)/2。看完大神的做法,简直觉得自己low爆了。 可以证明,原创 2016-12-20 12:06:50 · 1288 阅读 · 0 评论 -
BZOJ1565: [NOI2009]植物大战僵尸
题目链接【题目大意】给定n*m大小的地图,每块有一种植物,每种植物两个功能: ①:吃掉该植物可获得x点收益,可正可负; ②:可保护若干块地上的植物。 任何一个点的植物存活时,它左侧的所有植物都无法被攻击。 求最大获利值。【分析】由题意易知,想获得某点的植物的收益,可能有先决条件并且该条件必须满足,即为最大权闭合图。 但此题有特殊的情况:环。当出现环时,环上任意一点都不可原创 2016-12-20 15:38:51 · 345 阅读 · 0 评论 -
BZOJ3144: [Hnoi2013]切糕
题目链接【题目大意】给定三维矩阵,每一纵轴上取一点,且相邻两纵轴上取得点层数之差不大于D。刚开始也无从下手,我也是看了别人的题解才略懂一二:http://blog.csdn.net/zarxdy34/article/details/45272055接下来说一些我自己的理解。【分析】若这题没有D的限制,那就是每个纵轴上取一个最小值求和。。 加入限制条件后,就需要用最小割的思想来构建出这种相互制约的模原创 2016-12-20 20:35:42 · 263 阅读 · 0 评论 -
BZOJ4873: [Shoi2017]寿司餐厅
BZOJ4873。。感觉网络流题目做的也不少了。。可是拿到了还是不会QAQQAQ 一开始把mx2+cxmx^2+cx的xx看成了取的该种寿司的个数。。。 所求答案是获得的美味度之和减去花费。可以联想到最大权闭合子图。 然后考虑一下依赖关系。 首先可以想到源向每个区间连边,边权为Di,jD_{i,j},这是收益。 在考虑花费,每一种寿司向汇连边,花费应该是mx2+cxmx^2+cx,可是这个原创 2017-06-08 14:16:02 · 805 阅读 · 0 评论