![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
最小割
HT008_123
家人们点点关注叭
展开
-
最小割
首先感谢这个博客讲的很明白 链接 割的定义 C[S,T]是将网络G分为s和t两部分点集 S属于s且T属于t 从S到T的边的全集 在这张图中,割即为s–>1这条边与3–>2这条边 在网络流中,最大流等于最小割(最小割为割去的边的容量) 首先任意一个流小于等于任意的一个割 打个比方源点相当于自来水厂而汇点相当于你的家,有人不想让你的家有水喝,那就必然要砍掉几根 tube让你的家里断水原创 2017-04-23 09:52:09 · 357 阅读 · 0 评论 -
[JLOI2010] 冠军调查
题目描述:qwq。题目分析:跟这道题目有个毛的不同啊qwq题目链接:BZOJ 2768Ac 代码:#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#include <queue>#def...原创 2018-04-09 18:48:52 · 168 阅读 · 0 评论 -
[Luogu 1361] 小M的作物
题目描述:qwq题目分析:同 BZOJ 3894 文理分科题目链接:Luogu 1361Ac 代码:#include <cstdio>#include <iostream>#include <queue>#include <cstring>#define inf 0x7fffffffconst i...原创 2018-04-09 18:49:47 · 143 阅读 · 0 评论 -
[BZOJ 3894] 文理分科
题目描述:大雾.题目分析:对于二选一找最大价值,很明显是一个最小割问题。 但是满足集合要求带来的附加代价怎么求呢? 我们新建两个集合节点, S-X1 容量为集合1附加代价 Y1-T 容量为集合2附加代价 X1->2 容量为inf 2->Y1 容量为inf 如果我们割掉红边,说明2节点属于S集合 这时候如果我们割掉紫色边,仍存在s->2->...原创 2018-04-09 18:50:09 · 221 阅读 · 0 评论 -
[TJOI2015] 线性代数
题目描述:qwq.题目分析:好神的题啊,不会线代怎么办TAT D=∑ni=1∑nj=1ai∗aj∗bij−∑ni=1ai∗ciD=∑i=1n∑j=1nai∗aj∗bij−∑i=1nai∗ciD=\sum_{i=1}^{n}\sum_{j=1}^{n}a_i*a_j*b_{ij}-\sum_{i=1}^na_i*c_i 也就是如果选bij就得选ai和aj,选ai又得选cibij就...原创 2018-04-09 18:50:51 · 173 阅读 · 0 评论 -
[AHOI 2009] 最小割
题目描述:给出一个网络 起点S以及汇点T 求 1:第i条边是否可能是最小割集的元素 2:第i条边是否一定是最小割集的元素题目分析:WTF,我不想学图论了,放我走吧 嘤嘤嘤 这个问题叫做最小割唯一性问题 首先我们先在给出的网络上跑一遍网络流 1.不满流的边一定不行… 2.满足1的情况下,如果两个端点在一个强连通分量里,也是不行的. 边的两点还能相互到达 说明它们在割...原创 2018-04-03 16:23:23 · 253 阅读 · 0 评论 -
[SDOI2014] LIS
题目描述:qwq题目分析:求最小字典序最小割 如何判断一条边是否是割边是很容易的 只需要从u出发看是否能找到一条u到v的增广路,如果存在这样的一条路径 说明该边不是割边 那么我们按照C的大小来枚举每一条边 如果该边是割边 那么我们就要把它从图中删除(这样可以让一些割边不再是满流的边 这些删除的割边都是一定不与当前割边在同一割集中的割边 要让这样的边不能入选) 那么我们要怎样最...原创 2018-04-11 14:12:44 · 203 阅读 · 0 评论 -
[BJOI 2006] 狼抓兔子
题目描述:兔兔那么可爱,为啥要抓!题目分析:裸的最小割…题目链接:BZOJ 1001 Luogu 4001Ac 代码:#include <cstdio>#include <cstring>#include <queue>#include <iostream>const int maxm=3*1100*...原创 2018-05-07 15:04:39 · 201 阅读 · 0 评论 -
[HNOI2013] 切糕
题目描述:切蛋糕!题目分析:这数据范围,还有求最小的值,基本上最小割没跑了. 先不考虑限制. 我们新建一层虚拟蛋糕 从下面一层向上面一层连容量为花费的边 从s向1层连容量为inf的边,代表不可割 从虚拟层向t连容量为inf的边,代表不可割 然后…就不会啦qwqqqq 怎么考虑限制哇 我们从本点向四周高度为h-d的点连容量为inf的边就可以限制住了! 为什么呢? ...原创 2018-11-20 19:27:15 · 285 阅读 · 0 评论 -
[Luogu P2711] 小行星
QwQ 类型:最小割 建模分析:若我们把源点->星->汇点连起来,那么这个问题等同于最小割。 S−>X(1)−>Y1(1)−>Y2(1)−>Z(1)−>TS->X(1)->Y_1(1)->Y_2(1)->Z(1)->T 因为每个坐标只能删1次,所以要把Y拆点#include #include #include #include #define il inlineusing原创 2018-01-19 10:42:02 · 248 阅读 · 0 评论 -
P2944 [USACO09MAR]地震损失2Earthquake Damage 2
Luogu 类型:最小割 这题目有毒啊。。。 输入P,C,N P才是牧场的总数,弄成N,debug半天。 建模分析: 很明显是道最小割的题目,然而割掉的并不是边,而是点。 所以我们拆点。 先把双向的通道容量设为INF,以防道路被割。 我们直接把1出点设为起点。 对于确定没有损毁的农场,我们先从出点向T连一条INF边。 对于确定没摧毁的农场,拆点中间的边为INF 不确定的为1原创 2018-01-17 21:05:34 · 188 阅读 · 0 评论 -
[Luogu P2057] 善意的投票
Luogu 类型:最小割 我们可以把两者不同的意见看做两个集合,两个集合中间有边连接。 一个st-cut(简称割cut)会把有向图的顶点分成两个不相交的集合,其中s在一个集合中,t在另外一个集合中。 这道题目就是让我们求最小割啦。 从S向喜欢睡觉的同学连边1 从不喜欢睡觉的小朋友向T连边1 然后朋友之间连双向边 最小割==最大流 求最大流即可。#include #inclu原创 2018-01-16 20:59:16 · 291 阅读 · 0 评论 -
[NOI2006] 最大获利
题目描述:有N个中转站,每一个中转站修建需要耗费一定费用。 有M个用户人群,每个用户人群要通话需要有A B 两个中转站,满足这个用户人群后会获利P。 问最大获利是多少?题目分析:有正权,有负权,还有依赖关系,决定就是你啦,最大权值闭合子图! 建模就不分析了,套路题目。题目链接:Luogu 4174 BZOJ 1497 COGS 28代码实现:#includ原创 2018-01-31 20:52:09 · 198 阅读 · 0 评论 -
P2762 太空飞行计划问题
本来是想做 NOI2009的植物大战僵尸来着,建了半天模型都没又成功。 于是看了看题解,发现这个问题叫做最大权闭合图 我TM好像没学过啊. 于是先看了看概念,做了下入门的题目,然后一做就是一晚上(惨~ 我真不是颓了来着。概念这个题引入了最大权闭合图的概念。一个闭合图的定义为图中所有点的出边的终点都在这个图中。一个图的最大权闭合子图为其中所有闭合子图中权值和最大的。 本题的实质...原创 2018-01-24 21:32:01 · 342 阅读 · 0 评论 -
P1344 [USACO4.4] 追查坏牛奶Pollutant Control
类型:最小割 建模分析: 很明显,每个仓库就是节点,而车即为管道。 要求我们不能有从1->n的路径,就是把1,n分到两个集合去。 第一问我们把容量设为运输费用 套用最小割==最大流定理求出答案。 第二问我们直接把容量搞成1就可以求出最少停几辆车。 不用很麻烦的贪心了,Dinic足够快,跑两次也无所谓。 Luogu#include #include #include #inc原创 2018-01-17 10:50:20 · 325 阅读 · 3 评论 -
P1345 [USACO5.4]奶牛的电信Telecowmunication
类型:最小割 建模分析: 我TM是个SX,题目上让摧毁的是电脑,我TM摧毁的是线路。。。。 真是zz了。 既然摧毁电脑,那么拆点就行了,然后跑最大流,求出最小割。 Luogu#include #include #include #include #define il inlineusing namespace std;const int inf=0x7fffffff;原创 2018-01-17 11:06:17 · 190 阅读 · 0 评论 -
[NOI 2009]植物大战僵尸
类型:最大权值闭合子图建模分析:每个植物有正价值和负价值 这就像太空飞行计划问题中的实验和器材一样 而每个植物保护和被保护的关系就是器材和实验的关系 那么我们就可以套用最大权值闭合子图的模型 首先 从源点向正价值植物建一条容量为价值的边 从每个负价值植物向汇点建一条容量为价值绝对值的边 然后从被保护的植物向保护的植物连一条容量为inf的边 需要注意的是,我们从右方进攻也是一原创 2018-01-25 10:14:22 · 288 阅读 · 0 评论 -
[Luogu 3410]拍照
题目类型:最大权值闭合子图题目分析:注意可以不带人。实现代码:#include #include #include #include #define il inlineusing namespace std;const int inf=0x7fffffff;const int maxm=210000;int head[maxm],to[maxm*2],原创 2018-02-01 11:11:26 · 151 阅读 · 0 评论 -
方格取数问题
类型:最小割建模分析:首先把这张图黑白染色,使得相邻格子之间的颜色不一样。 然后一种格子连源点,另一种连汇点,相邻4格子之间用inf的边连接。 由于不可以使得选出的数有公共边,也就是这个网络不可以有流。 即为最小割问题题目链接:Luogu COGSAc Code:#include #include #include #include #define原创 2018-01-25 15:59:16 · 239 阅读 · 0 评论 -
骑士共存问题
类型:最小割建模分析:建模同方格取数问题。 不同的是本题有位置不能放骑士,那么此位置不能加入图中。题目链接:COGS LuoguAc Code:#include #include #include #include #define il inlineusing namespace std;const int inf=0x7fffffff;原创 2018-01-25 16:21:03 · 351 阅读 · 0 评论 -
[HDU 6582] Path
题目描述:给你一张图,你可以堵上一条边,代价就是这条边在长度,问你如何用最小的代价使得1->n不能走最短路!题目分析:首先我们正反跑两次SPFA,求出那条边在最短路上,然后把这些边扔进最大流里,跑个最小鸽就好了。题目链接:HDU 6582代码:#include <cstring>#include <algorithm>#include <ios...原创 2019-08-04 16:58:34 · 178 阅读 · 0 评论