随笔分类 -  图论->网络流->最大流

摘要:题目描述: bz 题解: 最小割。 对于不考虑组合的情况,可以: $S->x$,边权为$art_x$; $x->T$,边权为$science_x$; 这样跑出来的总权值-最小割等于正解贪心。 考虑加上组合,那么可以: 新建点$y$代表文科组合,$z$代表理科组合; $S->y$,边权$sameart 阅读全文
posted @ 2019-04-23 19:15 LiGuanlin 阅读(131) 评论(0) 推荐(0)
摘要:题目描述: 你有$m$个猪圈,有$n$个人会来买猪。其中每个人都会打开某几个猪圈的门,你可以在他们买完后移动猪的位置。 每人有买猪数量的上界,求最多买多少头猪。 题解: 最大流。 神奇建图: 正确性显然。 然后跑最大流就好了。 代码: #include<queue> #include<cstdio> 阅读全文
posted @ 2019-04-23 15:47 LiGuanlin 阅读(94) 评论(0) 推荐(0)
摘要:题目描述: poj 题解: 最大流+欧拉回路简单的性质。 有向图存在欧拉回路当且仅当每个点入度等于出度。 那么就很好办了,给出所有边,每个点入度+出度已知,先判一波度数。 然后边和点有二分图的关系,求一下最大匹配是否等于$0$的数量就好了。 代码: #include<queue> #include< 阅读全文
posted @ 2019-04-22 23:33 LiGuanlin 阅读(99) 评论(0) 推荐(0)
摘要:题目描述: $T$组询问,每次给出$m,n,q$以及$q$组限制,求一个$m*n$的矩阵,满足: 题解: 有源汇有上下界可行流板子题+墙题。 每一行/列都看作一个点$x$。矩阵里的数就是相连的边权。 对于限制$1$,可以看作$S$连$x$/$x$连$T$的边上下界都为给出值$k$; 对于限制$2$, 阅读全文
posted @ 2019-04-21 21:03 LiGuanlin 阅读(114) 评论(0) 推荐(1)
摘要:对偶图+最短路(好像可以用isap水)。 阅读全文
posted @ 2019-02-04 13:48 LiGuanlin 阅读(180) 评论(0) 推荐(0)
摘要:题目描述 题解: 这个菜鸡认为很神的一道最小割。 后来发现是模型之一。 其实将题意理解为,$(x1,y1)$与$(x2,y2)$相邻,$(x1,y1)$位置上选择了$z1$,那么$(x2,y2)$位置上不能取$z1-d$以下的点。 代码: 阅读全文
posted @ 2019-02-02 20:52 LiGuanlin 阅读(146) 评论(0) 推荐(0)
摘要:题目描述: 小N手上有一个N*M的方格图,控制某一个点要付出Aij的代价,然后某个点如果被控制了,或者他周围的所有点(上下左右)都被控制了,那么他就算是被选择了的。一个点如果被选择了,那么可以得到Bij的回报,现在请你帮小N选一个最优的方案,使得回报-代价尽可能大。 题解: 最开始以为是最大权闭合子 阅读全文
posted @ 2019-02-02 20:28 LiGuanlin 阅读(208) 评论(0) 推荐(0)
摘要:题目描述 题解: 由于干每棵植物之前需要先干掉它右面的植物和保护他的植物, 我们可以发现这是最大权闭合子图问题。 简单提一下。 闭合子图,指这个子图中所有的点只会指向子图中的点。 最大权,指这些点有点权,要求得到的闭合子图点权之和最大。 解决办法是,$S$向正点权的点连容量为点权的边,负点权的点向$ 阅读全文
posted @ 2019-01-11 19:02 LiGuanlin 阅读(207) 评论(0) 推荐(0)
摘要:题目描述 题解: 其实这道题才是最裸的因为它把建图都交代了 相当于每个点出边唯一,入边唯一。 然后发现这是二分图匹配。 代码: 阅读全文
posted @ 2019-01-11 18:23 LiGuanlin 阅读(149) 评论(0) 推荐(0)
摘要:题目描述 题解: 图就是题解。 黄色格子只能跳到红色格子上。 于是就和方格取数问题一样了。 代码: 阅读全文
posted @ 2019-01-11 17:50 LiGuanlin 阅读(216) 评论(0) 推荐(0)
摘要:题目描述 题解: 裸的最小割。 相邻的块不能被同时选中,所以需要将棋盘分成两类。 一类是$x+y$为奇,一类是$x+y$为偶。 然后一类与$S$建边,一类与$T$建边。 最后最大流。用总和减去最大流(即最小割)即为答案。 代码: 阅读全文
posted @ 2019-01-11 17:48 LiGuanlin 阅读(426) 评论(0) 推荐(1)
摘要:题目描述 题解: 裸如飞行员的二分图匹配问题。 直接上代码: 阅读全文
posted @ 2019-01-11 17:00 LiGuanlin 阅读(151) 评论(0) 推荐(0)
摘要:题目描述 题解: 个人认为网络流二十三题中比较有意思的一道。 先枚举球数。 每加一个球,从$S$向$xi$连一条容量为$1$的边,从$yi$向$T$连一条容量为$1$的边。 然后从$xi$向满足$i+j$为完全平方数的$yj$连容量为$1$的边。 在残余网络上跑$EK$或$Dinic$,如果得到的最 阅读全文
posted @ 2019-01-11 16:56 LiGuanlin 阅读(298) 评论(0) 推荐(1)
摘要:题目描述 题解: 最大流。 建图即$S$向各单位建边,容量为单位人数; 各单位向所有餐桌建边,容量都为$1$,指每张桌只能有一个人来自这个单位; 所有餐桌向$T$建边,容量为餐桌容量。 若最后得到的最大流为总人数,代表所有人都吃上饭了。 就可以遍历出边输出了。 代码: 阅读全文
posted @ 2019-01-11 16:48 LiGuanlin 阅读(193) 评论(0) 推荐(0)
摘要:题目描述: 由于人类对自然资源的消耗,人们意识到大约在 2300 年之后,地球就不能再居住了。于是在月球上建立了新的绿地,以便在需要时移民。令人意想不到的是,2177 年冬由于未知的原因,地球环境发生了连锁崩溃,人类必须在最短的时间内迁往月球。 现有 n 个太空站位于地球与月球之间,且有 m 艘公共 阅读全文
posted @ 2018-11-21 20:17 LiGuanlin 阅读(138) 评论(0) 推荐(1)
摘要:题目描述: W 教授正在为国家航天中心计划一系列的太空飞行。每次太空飞行可进行一系列商业性实验而获取利润。 现已确定了一个可供选择的实验集合E= {E1,E2,…,Em},和进行这些实验需要使用的全部仪器的集合I={I1,I2,…In}。 实验Ej需要用到的仪器是I的子集RjÍI。配置仪器 Ik的费 阅读全文
posted @ 2018-11-21 15:07 LiGuanlin 阅读(211) 评论(0) 推荐(1)
摘要:题目描述: 给出一个网络图,以及其源点和汇点,求出其网络最大流。 题解: 1.Dinic Dinic算法可用于求最大流。 算法过程: bfs分层+dfs搜最大流。 注意:残余网络。 代码: 阅读全文
posted @ 2018-11-20 20:23 LiGuanlin 阅读(199) 评论(0) 推荐(0)