随笔分类 - 图论算法-网络流
摘要:[luogu 2763] 试题库问题 "传送门" 二分图多重匹配 建图方法: s=0,t=n+m+1 (1)S向第i个试题连边,容量为1,保证每个试题只被选一次 (2)第i个试题编号为i,向所属种类连边,容量为1 (3)第i个种类编号i+n,为向t连边,容量为需要该类型的数量 求出最大流f,如果f不
阅读全文
摘要:[luogu 2766] 最长不下降子序列问题 "传送门" 第一问: $O(n^2)$ 的DP求LIS 为了下面叙述方便,我们将DP过程讲一遍 子状态:dp[i]表示以a[i]结尾的LIS长度 初始条件:dp[i]=1 状态转移方程:$dp[i]=dp[j]+1(j include include
阅读全文
摘要:[luogu 3254] 圆桌问题 "传送门" 二分图多重匹配,将单位看作左部节点,餐桌看作右部节点 限制为每个左部节点最多连r[i]条边,每个右部节点最多连c[i]条边 最大流即可 cpp include include include include include include define
阅读全文
摘要:题面 "传送门" 分析 考虑网络流 注意到数据包走的是最短路,所以我们只需要考虑在最短路上的边 由于最短路可能有多条,我们先跑一遍Dijkstra,然后再$O(m)$ 遍历每条边(u,v,w) 如果dist[u]=dist[v]+w,则这条边肯定在最短路上 然后点的容量限制可以用拆点来解(常见套路)
阅读全文
摘要:每个球向可以组成的完全平方数连边,会连出一个有向无环图 柱子上的球对应图上的路径,相当于最小路径点覆盖 求出拆点二分图,再用n 最大匹配数即可 include include include include include define maxn 100000 define maxm 100000
阅读全文
摘要:最小路径覆盖模板题 include include include include define maxn 155 define maxm 6005 using namespace std; int n,m; struct edge{ int from; int to; int next; }E[m
阅读全文
摘要:[luogu 2756]飞行员配对方案问题 题面 "luogu 2756" 英国飞行员为左部节点,外国飞行员为右部节点,直接跑二分图匹配即可 cpp include include include define maxn 105 using namespace std; struct edge{ i
阅读全文
摘要:【施工中】 网络流24题题解及常见套路总结 本文已重置,请访问 https://www.cnblogs.com/birchtree/p/12912607.html 查看最新版本 目录 点击链接进入各题题解,常见套路总结见下方 问题名称 问题模型 转化模型 飞行员配对方案问题 二分图最大匹配 最大流
阅读全文
摘要:题面 "传送门" 分析 没想到压轴题是道模板裸题 由于子图的权值=边权和 点权和 将边和点都看成新图中的点 S向原来的边i连边,权值为边权 点i向T连边,权值为点权 边i:(u,v,w)向u,v,连边,权值INF 答案即为总边权 最小割 理论时间复杂度为$O(n^2m)$,但由于Dinic在随机图上
阅读全文

浙公网安备 33010602011771号