随笔分类 -  图论—网络流

摘要:1.最小生成树: kruscal: 2.最短路: spfa(最好不要写,他死了)... dijisktra(这个比较好) 3.LCA 倍增版本: 树剖版本: 4.tarjan 有向图tarjan缩点+spfa最长路 无向图割边: 无向图割点: 5.网络流 最大流: 费用流: 有源汇上下界最大流 有源 阅读全文
posted @ 2019-07-12 15:56 lleozhang 阅读(472) 评论(0) 推荐(0) 编辑
摘要:很好的一道题,对理解最小割有很大帮助 首先,不难发现本题与网络流24题中的某一道很类似,我们可以先跑一次dp求出每个节点的LIS,然后拆点,拆出的两点之间连流量为删除的代价的边,剩下的点之间按dp的转移连流量正无穷的边,最后跑最小割即为第一问答案 但是第二问有个问题:又引入了一个量要求最小割字典序最 阅读全文
posted @ 2019-07-11 15:09 lleozhang 阅读(216) 评论(0) 推荐(0) 编辑
摘要:这题并不是太难 首先题目我们将每个城市拆点,由源点向一端连容量为初始人数的边,由另一端向汇点连容量为最后人数的边,然后按照题目要求从一端向另一端连容量无穷大的边 这样跑出最大流之后我们只需比较这个流量与总人数是否相等就知道是否合法了 至于输出方案,一个点向另一个点的所有流量都会体现在反向边上,因此我 阅读全文
posted @ 2019-07-11 11:29 lleozhang 阅读(298) 评论(0) 推荐(0) 编辑
摘要:费用流好题 本题的建图很有意思 正常我们看到棋盘问题应该先对整个棋盘黑白染色构成一个二分图,然后再考虑建图的问题 但是本题题目中已经明确区分了不同的斜线,问题在于怎么保证一个"L"形 因此我们进一步分析:显然柱子应该放在有代价的位置,我们应该由这样的位置向上下左右连边,保证有两个就行 但是这样建图是 阅读全文
posted @ 2019-07-11 10:51 lleozhang 阅读(206) 评论(0) 推荐(0) 编辑
摘要:首先题意就是裸的最小割啦 然后考虑如何统计边数 这里有一个trick: 我们设定一个大于m的阈值,对于每条边的边权我们乘这个阈值+1后跑最小割,得到的答案除以阈值就是真正的最小割,取模阈值后就是最少割掉的边数 为什么? 我们考虑:设原来的最小割割掉的边权为$v_{1},v_{2}...v_{n} 阅读全文
posted @ 2019-07-11 09:03 lleozhang 阅读(146) 评论(0) 推荐(0) 编辑
摘要:题目描述:这里 从这里开始,我们涉及到了一个新的问题:最小割问题 首先给出一些定义(本人根据定义自己口胡的): 一个流网络中的一个割是一个边集,使得割掉这些边集后源点与汇点不连通 而最小割问题就是一个使得边集中各边容量之和最小的割 根据ford-fulkerson定理,最小割等于最大流! 基于上面的 阅读全文
posted @ 2019-04-26 15:16 lleozhang 阅读(198) 评论(0) 推荐(0) 编辑
摘要:题目描述:这里 极其裸的一道费用流问题 首先分析第一问,由于要求一个点只能经过一次,所以我们将梯形中的每一个点拆成两个点(记为入点和出点,顾名思义,入点用来承接上一行向这一行的边,出点用来向下一行连边) 然后将出入点之间的流量设为1,边权设为0,这样就有效保证了一个点只经过一次 接下来,我们从上一行 阅读全文
posted @ 2019-04-26 10:16 lleozhang 阅读(170) 评论(0) 推荐(0) 编辑
摘要:题目描述:这里 这道题是网络流问题中第一个难点,也是一个很重要的问题 如果直接建图感觉无从下手,因为如果不知道放几个球我就无法得知该如何建图(这是很显然的,比如我知道 1+48=49=72 ,可是我都不知道是否能放到第48个球,那我怎么知道如何建边呢?) 所以这时就体现出了一个很重要的想法:枚 阅读全文
posted @ 2019-04-25 14:17 lleozhang 阅读(178) 评论(0) 推荐(0) 编辑
摘要:题目描述看:这里 这是我们遇到的第一个要求输出方案的问题 考虑建图然后用最大流思想: 首先由源点向每一道试题连边,容量为1 然后由每一种试题类型向汇点连边,容量为需求量 最后由每一道试题向可能属于的试题类型连边,容量为1 然后跑最大流,如果流量等于总需求量的话即证明合法(每一条到汇点的边流量都跑满才 阅读全文
posted @ 2019-04-25 13:54 lleozhang 阅读(188) 评论(0) 推荐(0) 编辑
摘要:题目描述:这里 题面已经提示我们这是费用流了 那么由源点向所有仓库连边,容量为仓库原有货物量,费用为0 然后由所有零售商店向汇点连边,容量为一个零售商店的需求量,费用为0 最后由仓库向零售商店连边,容量正无穷(由于源点和汇点的限制,所以不会出现不合法情况),费用为题给费用 然后跑费用流就得到了最小费 阅读全文
posted @ 2019-04-24 16:30 lleozhang 阅读(173) 评论(1) 推荐(0) 编辑
摘要:题目链接:这里 本题是一个典型的费用流问题,可以作为费用流建图模板使用 首先看到,每个人只能做一件工作,每件工作只能做一次,一个人做某件工作有一定的收益 那么我们建立一个超级源点st和超级终点ed,然后由源点向所有人连边,容量为1,费用为0 接着由工作向汇点连边,容量为1费用为0 上面满足了每个人只 阅读全文
posted @ 2019-04-24 16:20 lleozhang 阅读(150) 评论(0) 推荐(0) 编辑

levels of contents
点击右上角即可分享
微信分享提示