09 2022 档案
摘要:本文参考https://oi-wiki.org/graph/lca/ 定义树上u,v两点的LCA(最近公共祖先)是从根节点dfs到上述两节点路径上距离上述两点最近的公共点。 LCA有如下性质: 1、u是v的祖先,当且仅当LCA(u,v)=u 2、d(u,v)=h(u)+h(v)-2h(LCA(U,V
阅读全文
摘要:本文参考https://oi-wiki.org/graph/tree-basic/ 理论上说,树作为图的一种,可以由图表示方法完全表示,那为什么要特地给出树的存储方法?因为树具有一个很特别的性质:每个节点要么没有父节点(根节点),要么有且只有一个根节点。这个性质为我们的树存储提供了新思路。下面提供几
阅读全文
摘要:本文基于https://www.cnblogs.com/johnsonstar/p/16645091.html与https://www.oi-wiki.org/ bfs,即广度优先遍历,在搜索方面常用于搜寻最短路,其基本实现方式是通过队列存储节点:将初始节点放入队列,再依次将该节点相邻的节点依次放入
阅读全文
摘要:作为我们学习图论的基点,我们有必要了解几种常用的图存储方法,并比较他们的优劣与适用范围。 本文参考了https://oi-wiki.org/graph/save/ 直接存边: 由于直接存边的遍历效率低下,一般不用于遍历图。 在 Kruskal算法中,由于需要将边按边权排序,需要直接存边。 在有的题目
阅读全文