随笔分类 -  笔记 / 数学 / 图论

摘要:概述 最小割在实质上是一种很...精妙的模型,与状压中的依赖式问题一样,都在一定程度上反映着决策之间的矛盾。 每一条从 $S$ 到 $T$ 的路径,其上的边都满足某种矛盾关系,必有一条边删掉。 根据对应边是实际边(即希望参与删除的)还是结构边(即为构成路径而添加的虚边或不许删的边,不希望参与删除), 阅读全文
posted @ 2023-03-10 13:51 未欣 阅读(229) 评论(0) 推荐(0)
摘要:概述 最短路算法主要研究图上两点之间的最短路径问题。 事实上,许多问题都能转化为图来求解(图的本质就是点和边的集合,点是元素,边是元素之间的二元关系)。 所以最短路算法并不局限于“给出一张图,...”。 Floyd il void floyd(){ for(int k=1;k<=n;++k) for 阅读全文
posted @ 2023-02-28 13:44 未欣 阅读(39) 评论(0) 推荐(0)
摘要:竞赛图 姑且先挂载在这里。 性质 1:竞赛图缩点所得必为一条链,链上的重构点称为 Tier,Tier 1 是拓扑序最高的。 性质 2:出度最大的点必然在 Tier 1 中。 将所有点分为三类,第一类是出度最大的某个点 $u$,第二类是被 $k$ 直接指向的点,第三类是剩余的点。 不妨设存在点 $v$ 阅读全文
posted @ 2023-02-08 13:56 未欣 阅读(29) 评论(0) 推荐(0)
摘要:概述 LCA(least common ancestor),最近公共祖先的英文缩写。 顾名思义,LCA 就是树上两个点最近的公共祖先,或者说两个点共同在的极小子树的根。 树上差分则是利用树本身的结合性(显然树不满足差分性,是点到根的链满足差分性)与 LCA 结合做的操作,譬如给某个路径上所有点 $+ 阅读全文
posted @ 2023-02-07 09:51 未欣 阅读(103) 评论(0) 推荐(0)
摘要:概述 长链剖分通过把树剖成尽量长的多个链,高效地解决...我也不知道解决啥(长剖优化 DP 的东西在 DP 优化那边)。 毕竟这个东西,不具备启发式分裂的复杂度。不过其还是有一点性质的,有时候确实会用到... 恰如轻重剖是按 $siz$ 选重儿子,长剖是按 $dep$(这里指当前子树的最大深度)来选 阅读全文
posted @ 2023-02-07 09:45 未欣 阅读(43) 评论(0) 推荐(0)
摘要:概述 轻重链剖分通过将树剖分为若干条重链和它们之间相连的轻边,将树上路径问题转化成序列问题。 具体来讲,有很多树上路径问题本质上是把序列上的问题搬到了树上,此时我们可以进行轻重链剖分(后简记为轻重剖或重剖),将树上路径拆分为多条重链头尾相接,并通过能快速维护重链信息的数据结构来求解。 重剖方式如下: 阅读全文
posted @ 2023-02-07 09:39 未欣 阅读(63) 评论(0) 推荐(0)
摘要:约定 如无特别说明,本文中的 $n,m$ 分别为左右部点数,且总有 $n\leqslant m$。边集记为 $E$,边数记为 $e$。 定义 二分图是如下的一张图: 可以将 $V$ 划分为 $V_1,V_2$ 使得 $V_1,V_2$ 内部没有边。由此,二分图可以记为 $G={V_1,E,V_2}$ 阅读全文
posted @ 2023-01-27 11:22 未欣 阅读(23) 评论(0) 推荐(0)
摘要:LCA 与树上差分 轻重链剖分 长链剖分 树分治 阅读全文
posted @ 2023-01-15 10:13 未欣 阅读(17) 评论(0) 推荐(0)
摘要:概述 树分治通过树的唯一连通性质,递归地求解树上路径(主要是路径长度)相关的问题。 树分治主要包括点分治和边分治。我只会点分治。 点分治 点分治通过选取点作为分割来求解树上路径问题。 较具体地说,如果我们选定一个关键点 $key$ 来分割当前处理的(子)树,那么路径可以分为以下两种: 过 $key$ 阅读全文
posted @ 2023-01-15 10:12 未欣 阅读(62) 评论(0) 推荐(0)
摘要:概述 最大流思想主要用于求解“最多能...”的问题。 更多的我还没想明白。 增广路 若 $P$ 是网络 $G$ 中一条连通 $S,T$ 的路径,且 $\forall e\in P,c(e)>0$,则称 $P$ 为一条增广路。 正如二分图最大匹配的增广路一样,网络流中的增广路本质也是带悔贪心。 它的实 阅读全文
posted @ 2023-01-09 09:43 未欣 阅读(149) 评论(0) 推荐(0)
摘要:网络流概述 最大流 最小割 费用流 阅读全文
posted @ 2023-01-09 09:41 未欣 阅读(16) 评论(0) 推荐(0)