随笔分类 - 网络流
摘要:传送门 看到棋盘先黑白染色冷静一下 然后发现...攻击的时候同种颜色不会相互攻击 这样就是个网络流经典套路了,关于这个套路我以前好像写过几题,那边有解释一下:传送门 #include<iostream> #include<cstdio> #include<algorithm> #include<cs
阅读全文
摘要:传送门 容易想到二分,然后考虑判断是否合法 因为有不喜欢的限制,所以每个人拆成两个点 $i,n+i$ ,男生的点为 $[1,2n]$ ,女生的点为 $[2n+1,4n]$ 连边 $(i,n+i,K),i \in [1,n]\cup [2n+1,3n]$,如果是和不喜欢的匹配则从 $n+i$ 连边,否
阅读全文
摘要:传送门 好像是挺显然的网络流... 源点向每个 $food$ 连流量为 $1$ 的边,$drink$ 向汇点连流量为 $1$ 的边 每个牛拆成两个点 $i,n+i$ 之间流量为 $1$,对应的 $food$ 连向 $i$,$n+i$ 连向对应的 $drink$ 然后最大流
阅读全文
摘要:传送门 这一题很容易想到网络流 一开始傻逼地模拟整个图每一个时间的情况,显然会爆炸 发现我们只要考虑起点到门之间的距离,不用每一步只走一格 所以直接 $BFS$ 预处理距离然后二分答案,网络流判断即可 注意到了门就不能走了,所以门不能连边出去 总的来说挺傻逼的一题...但是我就是没想到... 某位不
阅读全文
摘要:传送门 考虑构建网络流模型 把一个流量看成一只奶牛的攻击过程,那么答案就是最大流 因为每只奶牛只能操作一波,所以构造分层图,一层相当于一步 第一层就是初始状态,从 $S$ 向所有 $J$ 奶牛连一条流量为 $1$ 的边,表示只有一只 $J$ 下一层,表示奶牛走一步后的状态,每只 $J$ 向下一层走一
阅读全文
摘要:传送门 显然的最小割 如果问的是最少的损坏边那就直接边流量为 $1$ 跑最小割就行了 但是问的是点,边不会损坏 那么直接把点拆成两个 $(i,n+i)$,表示入点和出点,之间连流量为 $1$ 的边,原图的边流量 $INF$ ,然后最小割 应该很显然吧...
阅读全文
摘要:传送门 网络流毒瘤题... 每个方格不是黑就是白,对于有些方格 $i$ ,只要有一个方格 $j$ 满足 $j$ 为白 $i$ 为黑就会产生额外的代价(设这个限制为 $(j,i)$) 发现其实就是最大权闭合子图的改版... 考虑先把所有黑白的价值加起来,然后减去最少要减去的代价 设 $S$割 的点为黑
阅读全文
摘要:传送门 分析一下题目,发现每个点必须至少走过一次,并且对于一个人的路径,他摧毁的点编号一定是递增的 并且在摧毁点 $i$ 之前,他不能经过 $i+1$ 到 $n$ 的点,考虑设 $dis[i][j],i<j$ 表示从 $i$ 到 $j$,不经过比 $j$ 大的点的最短路径 因为最终每个点都会被摧毁,
阅读全文
摘要:传送门 上下界网络流入门题... 每条边有一个下界流量 $1$,没有上界,求最小流 直接上下界最小流模板套进去就好了...
阅读全文
摘要:传送门 之前写了道星际竞速,这题一看就是星际竞速改版.. 考虑构建费用流模型 把每个点拆成两个点 $u,v$ $u$ 表示入点,$v$ 表示出点 连边 $(u,T,a[i],0)$ ($a[i]$ 表示点 $i$ 需要的经过次数),表示节点 $i$ 要进入 $a[i]$ 次 因为每个点都一定恰好进入
阅读全文
摘要:传送门 需要对网络流有较深的理解... 跑完最大流后判断一条边是否可以成为割边的充分必要条件是: $1.$ 满流 $2.$ 此边连接的两点 $(u,v)$ 在残量网络上不存在从 $u$ 到 $v$ 的路径 感性理解一下就是如果不满足说明它不能成为 "瓶颈" 跑完最大流后判断一条边是否必须为割边的充分
阅读全文
摘要:传送门 分析一下题目,考虑构建费用流模型(为什么会想到费用流啊!) 把每个点拆成两个 $u,v$ 从 $v$ 到 $T$ 连一条流量为 $1$,费用为 $0$ 的边(这条边满流说明此点走完了) 从 $S$ 向每个点 $v$ 连一条流量为 $1$,费用为能力爆发到此星球的时间(从任何一点跳跃其实就相当
阅读全文
摘要:传送门 看一眼,这不是修车原题吗? 把厨师拆成 $n*m$ 个点,第 $k$ 种菜连向第 $i$ 个厨师的第 $j$ 个点表示第 $i$ 个厨师倒数做的第 $j$ 个菜是 $k$ 可以发现厨师 $i$ 做的倒数第 $j$ 个菜的贡献是 $j*time[i][j]$ ($time[i][j]$ 表示厨
阅读全文
摘要:传送门 应该是很显然的费用流模型吧... $S$ 向所有学校连边,流量为 $1$,费用为 $0$(表示每个学校要选一个编号) 学校向范围内的数字连边,流量为 $1$,费用为 $c|m-m'|$(表示学校选择编号的花费) 注意学校向原来的数字连边,流量 $1$,费用 $0$(表示学校可以不改变编号)
阅读全文
摘要:传送门 答案等于总工作价值减去最小失去的价值 考虑构建最小割模型 在 $S$割 的点表示选,在 $T$割 的点表示不选 对于机器(编号从 $n+1$ 到 $n+m$) $n+i$,连边 $(n+i,T,cost)$ 表示选的代价 即如果此边满流表示此机器在 $S$割,表示选了,代价就是 $cost$
阅读全文
摘要:以前只知道最小割就是最大流...网络流背个模板,没了 根本没有深入理解,最近写了一些题才知道自己很 $naive$ 废话不多说,开始正题(假设大家都会网络流的代码,并且知道网络流在做什么) 首先最小割就是最大流(废话) 一条图的最小割中,一定有一些边,它们是满流的(如果不满流就不是最大流了) 不妨把
阅读全文
摘要:传送门 考虑一开始把所有点都选了,再放弃一些点使得选择合法 考虑求出最小的放弃掉的价值 看到棋盘先黑白染色冷静一下 从 $S$ 向所有黑点连一条流量为点权的边,如果满流表示我放弃这个点的价值 从所有白点向所有 $T$ 连边,如果满流说明我放弃这个点的价值 从所有黑点 $x$ 向它四个方向的四个白点
阅读全文
摘要:传送门 显然网络流,网格中每个点向四个方向连流量为 $1$ 的边, 源点向所有羊连流量 $INF$ 的边,狼向 $T$ 连流量 $INF$ 的边 然后最小割就是答案了(应该十分显然吧...)
阅读全文
摘要:传送门 求最小平均等待时间就相当于求最小总等待时间 考虑对于一个技术人员的修车顺序,$k_1,k_2,k_3,...,k_p$ 这 $p$ 辆车的车主的等待时间分别为 $t_{k_1},t_{k_1}+t_{k_2},t_{k_1}+t_{k_2}+t_{k_3},...,t_{k_1}+t_{k_
阅读全文
摘要:传送门 求无法逃离的蜥蜴总数的最小值就是求最多逃离的蜥蜴总数 所以显然考虑最大流,一个流量的路径就相当于一只蜥蜴逃离的路径 发现每个位置有一个最大经过次数,所以把每个位置拆成两个点$x,y$,$x$ 到 $y$ 连流量为最大经过次数的边 从源点向每个蜥蜴的初始位置的 $x$ 连一条流量为 $1$ 的
阅读全文