树与图论
文章平均质量分 92
无
cwplh
梦想终将引领着你,走向万丈光芒。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
2-SAT 详解
2-SAT问题是一种特殊的布尔可满足性问题,研究在n个布尔变量和m个形如(a∨b)的约束条件下是否存在可行解。该问题通过图论方法解决:将每个变量及其否定形式视为节点,根据约束条件建立有向边。若变量x与其否定¬x位于同一强连通分量中,则问题无解;否则可通过比较强连通分量的拓扑序来构造解,选择拓扑序较大的命题为真。文章详细介绍了建图方法、无解判断条件以及解的构造过程,并提供了相关证明和代码实现。原创 2026-03-04 17:54:50 · 395 阅读 · 0 评论 -
寒假学习笔记【匠心制作,图文并茂】——1.20拓扑、强连通分量、缩点
本文介绍了两种重要的图论算法:拓扑排序和强连通分量(SCC)。拓扑排序是将有向无环图(DAG)节点线性排序的算法,通过不断移除入度为0的节点实现。强连通分量则是图中极大强连通子图,Tarjan算法通过深度优先搜索和dfn/low数组标记来识别SCC。文章还介绍了缩点技术,即将SCC合并为单个节点构建新图,便于后续处理。这两种算法在解决图论问题时非常有用,尤其适合处理依赖关系、环路检测等场景。原创 2025-05-31 23:54:59 · 1446 阅读 · 0 评论 -
2.27学习笔记——关于同余最短路的补充
上面的过程中省略了一些步骤,还用了一些数学符号,但我相信应该能看懂,看不懂的可以抠破脑袋想。当然这就有个问题:这费马小定理有什么用呢?互质的数所构成的集合叫做最简剩余系。这也很好理解,相信大家都能想通,就不多讲了。的最简剩余系的长度,假设一个数。然后我们把左右两边同时除以一个。为质数时,我们就可以得到。互质,则我们可以得到。原创 2025-02-27 16:48:15 · 697 阅读 · 0 评论 -
点双连通分量,边双连通分量
本文介绍了图论中的两种连通分量算法。点双连通分量(v-dcc)定义为不含割点的极大连通子图,通过Tarjan算法识别割点(满足dfn[u]<=low[i]的非根节点或多子树的根节点),并用栈保存节点来划分点双。边双连通分量(e-dcc)则是极大不含桥的连通子图,其判定条件为dfn[x]<low[y],算法同样基于Tarjan,通过比较dfn和low值识别桥并划分边双。两种算法均采用深度优先搜索和栈结构实现分量划分,核心代码展示了具体的实现逻辑。原创 2025-06-03 16:07:21 · 843 阅读 · 0 评论 -
寒假学习笔记【匠心之作,图文并茂】——1.19树的重心、直径、树形 DP
很简单,我们只需要用一个 dfs,然后从根节点开始往下搜,然后搜它的子树的大小,再把自身的大小加上它子树的大小表示这棵树总的大小,然后取子树大小中的最大值,最后更新答案。(这里以及下文中的「子树」若无特殊说明都是指无根树的子树,即包括「向上」的那棵子树,并且不包括整棵树自身。我们这样思考:假设我现在把根转移给了我的子节点,那么被我转移了的那个子节点的总深度就少了。为根节点往下的总的点数),而其他的子树的总深度就加上了。现在应该就明白了重心的定义了吧。为根的子树大小(即子树上结点的个数,包括根结点)。原创 2025-02-18 16:44:52 · 1173 阅读 · 0 评论 -
寒假学习笔记【匠心制作,图文并茂】——1.18倍增、ST表与LCA
现在,国土安全局局长希望知道,至少需要多少名边防战士,才能使得他们的奔袭区间覆盖全部的边境线,从而顺利地完成国旗计划。不仅如此,安全局局长还希望知道更详细的信息:对于每一名边防战士,在他必须参加国旗计划的前提下,至少需要多少名边防战士才能覆盖全部边境线,从而顺利地完成国旗计划。我们上面说了,如果相等就不执行操作,也就是不跳,所以我们肯定不会到他们的 LCA,而是会很接近,而最接近的地方就是它的子节点了,所以最后再往上跳一个就行了。最后经过很多次循环后,我们成功找到了他们的 LCA,的子节点,为啥呢?原创 2025-02-14 23:40:34 · 988 阅读 · 0 评论 -
寒假学习笔记【匠心制作,图文并茂】——1.17图论复习
主要知识点:并查集、 Dijkstra 、查分约束、同余最短路。原创 2025-02-13 21:06:02 · 1042 阅读 · 0 评论
分享