随笔分类 - 图论——网络流
摘要:比赛链接 A.B problem 在一个 \(N \times N\) 的水池四周,有 \(4N\) 个人想要在这里钓鱼,他们围着水池站了一圈,水池四边每个格子都有一个人。 一个人在钓鱼的时候,他需要把钓竿垂直于他所在的水池边线放置,并且他的钓竿不能与其他人的钓竿有交叉。 每个人的钓竿长度不一定相同
阅读全文
摘要:比赛链接 A.SA problem 给出一个字符串S,然后有Q次询问,每次询问给出一个字符串T,对于每个询问需要回答:S中有多少个连续子串与T恰好有一个字符不相同。 \(|S|,\sum|T| \le 5\times 10^5\) solution 先对于S建出后缀数组,然后对于一个询问T。枚举T的
阅读全文
摘要:题目链接 problem 给出一个有向无环图,找出最多的点,使他们两两之间不能到达。 输出: 最多找到的点数, 输出一种方案, 输出每个点是否存在一种方案使某个点可以被选出。 Dilworth定理 偏序集 设R是集合A上的一个关系,R满足自反性,反对称性,传递性。那么就称R是集合A的偏序关系。 集合
阅读全文
摘要:题目链接 思路 先考虑没有额外收益的时候怎么做。 从$S$向第$i$点连一条容量为$A_i$边,表示种在$A$中的收益。 从第$i$个点向$T$连一条容量为$B_i$的边,表示种在$B$中的收益。 然后求出来最小割,用总收益减去即可。 完成之后如下图: 然后考虑如何处理额外收益 对于每一个额外的收益
阅读全文
摘要:题目链接 题意 你要解雇一些员工,其中有一些限制。即若要解雇x则必须解雇y。解雇每个人都会有一定的收益。现在要让这个收益最大。输出解雇的人数和最大收益。 思路 最大收益直接跑最大权闭合子图就好了。 然后考虑怎么统计解雇的人数。 根据最大闭合权子图的连边方式可以看出。割掉$S\rightarrow x
阅读全文
摘要:# 思路 首先想到费用流。 对于每个点拆点。然后考虑我们怎样才能保证每个点只被用一次。 如果$i$与$j$满足条件。那么就从$i$向$j$连一条边并且从$j$向$i$连一条边。这样每次增广的时候我们都可以看作某一条边被增广了两次。显然从$i$到$j$和从$j$到$i$的边是等价的。也就是说,如果当前
阅读全文
摘要:80分(最小割)思路 先考虑如果没有题目中东南角为$1$那个限制的话会怎样。 那么只要让每个点的海拔都是$0$就行了。这样不论怎样走,最后的答案都是0. 然后再考虑那个东南角为$1$的限制表达了什么。其实说明了最后的答案一定是右下角一部分海拔全部为$1$,左上角一部分海拔全部为$0$。 所以这样只要
阅读全文
摘要:题目链接 题意 给出一个混合图(有无向边,也有有向边),问能否通过确定无向边的方向,使得该图形成欧拉回路。 思路 这是一道混合图欧拉回路的模板题。 一张图要满足有欧拉回路,必须满足每个点的度数为偶数。 对于这道题,我们先随便给无向边定个向。这时能够形成欧拉回路的必须条件就是每个点的入度和出度之差为偶
阅读全文
摘要:有源汇上下界最大流 例题 loj116 给出一个有源汇点的有向图。每条边有最大流量和最小流量。现在需要求出从源点到汇点的最大流可以是多少。 前置知识 上下界可行流 思路 先回顾有源汇上下界可行流干了些什么。 其实可行流就是找到了一种满足流量下界的方案。 在满足了流量下界之后,可以发现还有一些残余的自
阅读全文
摘要:无源汇上下界可行流 题目 给出一个有向图。每条边有流量上界和下界,问是否存在一中流量分配方案,使得每个点流量守恒(即流入量=流出量) 思路 解决这种问题的主体思路就是在初始流的基础上不断添加流量,使得满足流量守恒。 初始流很显然应该是每条边流量的下界。 但是这样并不满足流量守恒。然后考虑添加流量。
阅读全文
摘要:"题目链接" 思路 既然是异或预算,很容易想到按位操作。 按位操作之后,每个点的权值就只有$0$和$1$两个了,然后从$S$向所有权值为$0$的点连一条$INF$的边,从所有权值为$1$的点向$T$连一条$INF$的边。然后将原图中的边全都连成权值为$1$的边。然后求最小割。 如果没有不确定的点权,
阅读全文
摘要:题目链接 思路 如果想消灭掉一个植物,那么必须先消灭掉左右能保护这个植物的植物。这就成了最大权闭合子图的模板题了。 有两个需要注意的地方。 第一个就是,能保护当前植物的植物还有当前植物右面的所有植物。 第二个就是,在环里的植物或者是被在环里的植物所保护的植物是无法消灭的。 所以先拓扑一下,找出所有可
阅读全文
摘要:题目链接 思路 对于每个中转站向$T$连一条权值为建这个中转站代价的边。割掉这条边表示会建这个中转站。 对于每个人向他的两个中转站连一条权值为$INF$的边。然后从$S$向这个人连一条权值为这个人的收益的边,割掉这条边表示不要这个收益。 这就是最大权闭合子图的模型。 最后的答案=全部的收益 割掉的收
阅读全文
摘要:题目链接 题意 这个题首先要理解好题意,就是说给这个长方体横着切开。要求相邻的两个位置切点的为值不能相差大于$D$。 说的再直白一点就是。有一个$P\times Q$的矩阵,要在这$P \times Q$个格子里填区间$[1,R]$中的数字。位置为$(x,y)$的格子填$z$会有$p(x,y,z)$
阅读全文
摘要:题目链接 思路 从源点$S$向每种药连一条边权为$ p+inf$的边。从每种药向他所需要的药材连一条边权为$INF$的边。从每种药材向汇点$T$连一条边权为$inf$的边。 $INF inf$ 用最小割减去源点连向药材的边权之和。 代码 cpp= include include include in
阅读全文
摘要:题目链接 思路 先将题目转化为求最小割。也就是要找出一些贡献不选,使得这些贡献的和最小。 对于单个点的贡献。显然我们可以从$S$到这个点连一条容量为选文收益的边。从这个点到$T$连一条容量为选理收益的边。 然后考虑哪些额外的贡献。只要相邻的这$5$个点中有任何一个不选文,那么这个集合选文的额外贡献就
阅读全文
摘要:题目链接 思路 这道题对于题意的转化很关键。 题目要求的是添上一条边,使得图中最大团的大小变大。给出的边是原图的补集,这就给我们了提示。 因为题目中说,原图中最多有两个团。所以给出的边一定形成了一个二分图。 那么最大团就是新图中的最大独立集。 那么问题就转化成了,在新图中删除一条边,使得新图中的最大
阅读全文
摘要:题目链接:luogu2763 题目描述 «问题描述: 假设一个试题库中有n道试题。每道试题都标明了所属类别。同一道题可能有多个类别属性。现要从题库中抽取m 道题组成试卷。并要求试卷包含指定类型的试题。试设计一个满足要求的组卷算法。 «编程任务: 对于给定的组卷要求,计算满足要求的组卷方案。 输入输出
阅读全文
摘要:题目链接:luogu4013 题目: 给定一个由 n 行数字组成的数字梯形如下图所示。 梯形的第一行有 m 个数字。从梯形的顶部的 m 个数字开始,在每个数字处可以沿左下或右下方向移动,形成一条从梯形的顶至底的路径。 分别遵守以下规则: 从梯形的顶至底的 m 条路径互不相交; 从梯形的顶至底的 m
阅读全文
摘要:最小费用最大流? 最小费用最大流就是在最大流的基础上,给每条边一个单位花费,要在保证是最大流的情况下找出最小费用。这里的单位花费就是这条边的每一单位流量的花费。 解法: 先看这里的花费,假设第i条边的花费是wi,那么假设找到 了一条增广路(与最大流中的意义相同),且这条增广路的流量为x,那么这条增广
阅读全文