图论
文章平均质量分 81
小白不定期更新的图论学习
Texcavator
会慢慢慢慢慢慢学会的!
展开
-
【图论】无向图的双连通分量
算法提高课笔记。原创 2024-03-14 10:43:12 · 1061 阅读 · 0 评论 -
【图论】树上启发式合并
在树链剖分时我们把树中结点最多的子树根结点叫做重子结点,也就是说,在树上启发式合并的过程中,我们需要先计算所有轻子结点的信息(每计算一个轻子结点之后都要删除这个结点对当前答案的影响),最后计算重子结点的信息(保留重子结点对当前答案的影响),然后再计算前面的轻子结点(这一次计算要保留结点对当前答案的影响)这样的树中,我们首先计算2子树的信息,然后计算3子树的信息的时候我们又要把2子树清空,每计算一个新的子树都要把之前计算过的信息清空,根本存不下来信息啊。换句话说,我们保留哪一个子树的信息不被删除呢?原创 2024-03-12 15:31:52 · 2286 阅读 · 0 评论 -
【图论】树链剖分
这里做的是一个类似LCA的操作,如果两个结点不在同一条链上,就让深度更大的结点往上跳(每次只能跳一个结点,避免两个结点一起跳导致擦肩而过)直到跳到同一条链上,因为同一条链上的点 dfs 序是相邻的,所以可以直接在这条链上用数据结构计算权值和(下面的代码用的是线段树)思路就是,如果两个点不在一条重链上,那就不断让深度大的结点往上跳,直到跳到同一条链上,那么深度较小的点就是LCA。接下来需要实现树链剖分,也就是把每个结点划到一条链里,这通常是由两边 dfs 来实现的。首先,树链剖分是什么呢?原创 2024-03-11 20:59:28 · 1579 阅读 · 0 评论 -
【图论】2-SAT
给出一个类似于这样的式子,让你找出满足条件的一个解,这样的问题就是SAT问题,因为每一个括号内都有三个被限制的变量,所以这叫做3-SAT问题(是因为括号内的变量数有3个才叫3-SAT,不是因为abc才叫3-SAT)所以2-SAT也很好理解,就叫做 2-SAT 问题可以证明 3-SAT 及以上的问题只能用暴力枚举解决(我也不知道怎么证明),所以我们只讨论2-SAT问题。原创 2024-02-17 16:04:32 · 1651 阅读 · 0 评论 -
【图论】基环树
基环树其实并不是树,是指有n个点n条边的图,我们知道n个点n-1条边的连通图是树,再加一条边就会形成一个环,所以基环树中一定有一个环,长下面这样:由基环树可以引申出和基环内向树如下,特点是每个点的出度为1基环内向树如下,特点是每个点的入度为1下面放点题,做到相关题目随时更新。原创 2024-02-04 15:06:25 · 1272 阅读 · 0 评论 -
【图论】网络流
网络流目前只整理模板,学习的话这篇博客可能不太适合下文建图方式都基于链式前向星,请注意,cnt。原创 2024-02-01 11:57:58 · 2824 阅读 · 0 评论 -
【图论】拓扑排序
在AOE网中,想要完成一项活动,必须要先完成在该活动前面的所有活动,例如下图中,想要完成活动e,必须要先完成活动abcd,完成活动a和c所需时间为3 + 2 = 5,完成活动b和d所需时间为5 + 4 = 9,二者取大,因此任务e的最早开始时间为9。由此我们可以知道,整个工程从开始到结束所需要花费的时间是起始点到终止点的最大路径长度(因为这样才可以保证在终止点前的所有任务都完成了),这个有最大路径长度的路径就是关键路径,关键路径上的活动就叫做关键活动。原创 2024-01-26 18:47:09 · 1114 阅读 · 0 评论 -
【图论】树的直径
树的直径即为一棵树中距离最远的两点之间的路径。原创 2024-01-19 22:07:04 · 1035 阅读 · 0 评论 -
【图论】判环问题
(未更新完、做到相关题再更新相关部分。原创 2023-10-02 22:20:19 · 621 阅读 · 0 评论 -
【图论】有向图的强连通分量
对于一个有向图,分量中任意两点u,v,必然可以从u走到v,且从v走到u,这样的分量叫做连通分量如果一个连通分量加上任意一个点都不是连通分量了,就把它叫做。原创 2023-09-12 23:09:59 · 587 阅读 · 0 评论 -
【图论】SPFA求负环
算法提高课笔记。原创 2023-09-10 17:06:46 · 563 阅读 · 0 评论 -
【图论】最小生成树
(算法基础+提高课笔记。原创 2023-09-10 11:55:52 · 468 阅读 · 0 评论 -
【图论】Floyd
算法提高课笔记)原创 2023-09-09 21:19:24 · 451 阅读 · 0 评论 -
【图论】单源最短路
算法提高课笔记。原创 2023-08-07 15:59:06 · 731 阅读 · 0 评论 -
【图论】二分图
二分图,即可以将图中的所有顶点分层两个点集,每个点集内部没有边。原创 2023-07-21 22:15:36 · 776 阅读 · 0 评论 -
【图论】最短路算法
(2)遍历 k 次,第 i 次表示这一轮的最短路最多经过 i 条边:每轮先复制上一轮的dist(防止本轮前面的dist更新对后面的更新有影响),然后遍历所有边,更新dist为最小值。(1)初始化距离数组dist[N],将其所有值赋为0x3f,并将起点1的dist初始化为0,存入优先队列heap中。(1)初始化距离数组dist[N],将其所有值赋为0x3f,并将起点1的dist初始化为0。(3)每轮取出队头,遍历与队头相连的所有点,更新这些点的dist,并将不在队中的点入队。(4)重复(3),直到队空。原创 2023-07-21 22:14:28 · 731 阅读 · 0 评论 -
【图论】 最近公共祖先LCA
什么是最近公共祖先?在一棵树中(也就是有向无环图中),从根结点遍历到每个结点,路径上所经过的所有结点都叫做该结点的祖先结点两个结点的祖先结点中重复的部分叫做公共祖先公共祖先中层数最大的一个点叫做最近公共祖先(LCA)原创 2023-07-21 16:44:29 · 215 阅读 · 0 评论 -
【图论】图的存储与搜索
首先,树是一种特殊的图,因此树的存储类似,这里只记录图的存储。其次,无向图又是一种特殊的有向图。无向图中的 a—b 相当于有向图中的 a->b b->a,因此这里只记录有向图的存储。原创 2023-06-02 22:31:01 · 85 阅读 · 0 评论