![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ISAP
Wuliwuliii
谁无暴风劲雨时,守得云开见日明!
展开
-
[TJOI2007]脱险【最大流】
题目链接 首先,每个时刻,每个点最多经过一个人,那么来说,我们需要对于每个时刻的每个点进行拆点,限制流量。 然后,因为图实际上只有10*10,因为最外围是包围圈,然后时间上其实是上限50,所以我们不妨对于时间来建点,表示时间为Tim时候的坐标为(x,y)的点,那么,根据每一秒移动一步,初始为0,我们向四个方向都是链接上下一秒时刻对应的点值。 接下去,就是最大流的部分了。#i...原创 2020-03-29 10:52:03 · 272 阅读 · 0 评论 -
[USACO06FEB]Steady Cow Assignment G【二分+最大流】
题目链接 P2857 [USACO06FEB]Steady Cow Assignment G有N头牛,B个牛棚.告诉你每头牛心里牛棚的座次,即哪个牛棚他最喜欢,哪个第2喜欢, 哪个第3喜欢,等等.但牛棚容量一定,所以每头牛分配到的牛棚在该牛心中的座次有高有低.现 在求一种最公平的方法分配牛到牛棚,使所有牛中,所居牛棚的座次最高与最低的跨度最小.数据范围:(1 <= N <=...原创 2020-03-14 20:56:13 · 164 阅读 · 0 评论 -
[ZJOI2009]狼和羊的故事【最小割】
题目链接 P2598 [ZJOI2009]狼和羊的故事 要让羊和狼都区别开来,需要的最小的割是多少?每只羊向四周有4个可能的方向,每只狼也是同样的,所以每个动物向周围可以跑出4个流,我们要建立栅栏,可以考虑成切断的“割”,那么最少需要多少的割才能使得羊狼无法接触呢?于是我们对羊连接在源点上,狼连接在汇点上,羊抵达不了狼,那么就是说明是其中的一种割的方案了,最小的割就是最大流了。#inc...原创 2020-03-14 10:16:44 · 242 阅读 · 0 评论 -
Harmonious Army 【HDU - 6598】【最小割】
题目链接 很经典的一道问题,应该是二刷了,但是刷第二遍的时候还是有很深刻的体会。 题意:有N个人,每个人都有自己所可选的阵营,战士或者是法师,现在给出M个关系对,如果关系对中的两个人都是战士会得到贡献a,如果一战士一法师会得到贡献b,如果两个法师会得到贡献c,现在求最大贡献。 好了,我们来思考这个问题,有N个人,他们每个人该选择战士还是法师呢?肯定是由他的贡献来确定的,如果现在有...原创 2020-03-13 14:39:06 · 175 阅读 · 0 评论 -
[SCOI2007]蜥蜴【最大流模板】
题目链接 P2472 [SCOI2007]蜥蜴 期间一直没有过样例,后来想了想,是我的这里需要考虑谨慎:这里很重要,可千万别写成了BFS搜索时候的去往临近点的形式了。 然后剩下的就是最大流了,简单的拆点,然后构图,这里就不深入讲了。 对了,题目所说的距离,值得是欧几里得距离。#include <iostream>#include <cstdio&...原创 2020-03-11 20:24:44 · 178 阅读 · 0 评论 -
[ZJOI2009]假期的宿舍【二分图最大匹配】
题目链接 P2055 [ZJOI2009]假期的宿舍 关于这道题的做法,我所使用的算法可能会复杂了,实际上我们要先理清楚题意(尽管它是道中文题)。 首先,认识关系是没有传递性的,譬如A认识B,B认识C,C认识D,C和D要回家了,A和B是外校的,不代表B能先睡C的给A暖暖炕头再搬去C认识的D的床位,然后A睡B之前睡的C的床位。 若A认识B,那么只能A去睡B的床,不是说B认识X,A就...原创 2020-03-09 22:48:09 · 122 阅读 · 0 评论 -
酒店之王【最大流】
题目链接 P1402 酒店之王 刚拿到这道题的时候,我想,我可以拆成一个二分图,以人作为中间的边,来构成这幅二分图,譬如说,人喜欢食物X和房间Y就将X->Y。但是这其中的bug显而易见,如果有一个人,喜欢食物X1和房间Y1并且还喜欢食物X2和房间Y2,那么光这个人,形成的匹配数就达到了2,显然是不正确的。 由此,正解又是什么呢?就是很纯粹的建图了,将每个人拆点,拆成i->i...原创 2020-03-09 20:11:02 · 188 阅读 · 0 评论 -
Flow construction 【SGU - 176】【有源汇有上下界最小流+负流特殊考虑】
Flow constructionSGU - 176 有N个点,M条边,每条边有{u, v, w, c},如果c==1表示这条边一定要满流流过去,否则,这条边的流量可以是0~w的任意。求最小可行流。 于是,我们很简单的构造了一个可行流网络,这些都是简单的,关键是求出可行流之后的步骤,有很多的细节上的东西。 首先,题目中给的源汇点是1和N,但是如果有直接从1到N的边,会形成环...原创 2020-02-22 15:30:32 · 1653 阅读 · 0 评论 -
清理雪道【有源汇有上下界最小流】
题目链接 P4843 首先,我们可以知道,直接用有源汇有上下界网络流求解出来的答案是介于最大流到最小流中间的某个可能值,所以其中肯定是需要一些操作来使得它变成最小值的。 首先,固定源汇点,不是所有点都是可以变成源汇点的,所以我单独开一个s和t来充当源汇点。因为原图是DAG,所以,可以使用我们将源点链接那些入度为0的点,让出度为0的点去链接汇点,这样必定是最贪心的。 然后,就是要做...原创 2020-02-22 10:45:50 · 218 阅读 · 0 评论 -
Shoot the Bullet 【ZOJ - 3229】【有源汇有上下界最大流】
题目链接 题意:有N天,M个妹纸,接下来是一行共M个数,表示M个妹纸要求你在N天内总共给他们拍摄至少Gi个照片。然后有N天,每天有个Ci和Di,表示今天有Ci个妹纸要拍摄,但是今天最多拍摄Di张照片,然后是Ci个妹纸,第一个是妹纸的编号,0~M-1,然后是L~R,表示这个妹纸要求你最少拍L张照片,最多拍R张。解 这道题,由于我ISAP的退出的顶端高度没有写好,竟然WA了几十次,加上...原创 2020-02-22 09:58:11 · 224 阅读 · 0 评论 -
HS BDC 【HDU - 3472】【混合半欧拉图构建欧拉图+最大流】
题目链接 有N个字符,如果字符可以首尾相同字符相接组成一条链的话,那么就是说明是well done的,不然,就不是,所以考虑成一条边,我们把每个字符串考虑成有向边,又有些字符串是可以反转的,实际上可以把它当成是无向边来考虑,现在,就是要知道,构成一个半欧拉图,也就是欧拉通路需要将这几条无向边怎样变化,或者不可能组成一个欧拉通路。 其实,与混合欧拉图不同的混合半欧拉图,与其对应的欧拉图的...原创 2020-02-02 20:07:33 · 201 阅读 · 0 评论 -
Sightseeing tour 【HDU - 1956】【混合欧拉图+网络流最大流ISAP/Dinic】
题目链接 混合欧拉图经典问题吧。有N个点,M条边(既有有向边又有无向边),想知道是否可以构成欧拉图。 最开始的时候,我大致画了一下图,我发现一个必要不充分条件(因为WA了啊),如果有多个联通块或者是某个点的度的值为奇数,那么它肯定是无法构成混合欧拉图的——这当然是没错的,但是还不够充分,于是WA了一上午。 然后再想,我试着去枚举一些样例,然后制造出了这样的玩意儿:很显然,...原创 2020-02-01 21:30:31 · 894 阅读 · 0 评论 -
从Dinic到ISAP,从余流推进到最高标号的预留推进HLPP(究极最大流算法)
题目链接——很好的一道对于网络流提升的题Dinic首先,这道题真的将Dinic算法卡到了它的上界,也就是,在这道题中,使用一般的Dinic最后会获得40分。#include <iostream>#include <cstdio>#include <cmath>#include <string>#include <cst...原创 2020-01-22 16:03:13 · 1906 阅读 · 0 评论 -
Drainage Ditches【究极最大流算法之ISAP】(Improved Shortest Augmeng Path)
题目链接(一道模板的最大流问题) 我们都知道,Dinic算法求最大流的时候,每次都是需要去重新跑一遍分层图,那么现在有没有什么不需要再这样一次又一次地跑一遍分层图的做法呢? 我们知道,其实每次改变的深度是不多的,所以由这里去进行优化,于是有了ISAP这个只需要跑一次分层图的算法。时间复杂度上界是,但是随机数据的时候就跑的飞快了!也就是上界比较的松了。 Improved Sho...原创 2020-01-21 10:02:48 · 160 阅读 · 0 评论