随笔分类 -  图论

摘要:1. 二分图的概念 二分图,又称二部图,英文名叫 Bipartite graph。 如果一张无向图的 \(N\ (N≥2)\) 个节点,可以分成 A、B 两个非空集合,其中 \(A∩B=Φ\),并且在同一集合内的点之间都没有边相连,那么称这张无向图为一张二分图。A、B 分别称为二分图的 左部 和 右 阅读全文
posted @ 2024-05-10 15:49 狂飙霹雳虎 阅读(288) 评论(0) 推荐(16) 编辑
摘要:给定一个 DAG(有向无环图),如果从 \(u\) 到 \(v\) 有边,则认为 \(v\) 依赖于 \(u\)。如果 \(u\) 到 \(v\) 有路径(\(u\) 可达 \(v\)),则称 \(v\) 间接依赖于 \(u\)。我们将图中的顶点以线性方式进行排序,使得对于任何的顶点 \(u\) 到 阅读全文
posted @ 2024-01-26 17:29 狂飙霹雳虎 阅读(85) 评论(0) 推荐(2) 编辑
摘要:最小生成树 \(n\) 个点用 \(n-1\) 条边连接成一个连通块,形成的图形只可能是树 一个有 \(n\) 个点的连通图,边一定是大于等于 \(n-1\) 条的。图的最小生成树,就是在这些边中选择 \(n-1\) 条出来,连接所有的 \(n\) 个点。这 \(n-1\) 条边的边权之和是所有方案 阅读全文
posted @ 2024-01-26 17:28 狂飙霹雳虎 阅读(49) 评论(0) 推荐(3) 编辑
摘要:最短路 Floyed 时间复杂度:\(O(n^3)\) 标准弗洛伊德算法,三重循环。循环结束之后 \(dis[i][j]\) 存储的就是点 \(i\) 到点 \(j\) 的最短距离。 需要注意循环顺序不能变:第一层枚举中间点,第二层和第三层枚举起点和终点。 题目多数时间限制为 \(1s\),因此一般 阅读全文
posted @ 2024-01-26 17:27 狂飙霹雳虎 阅读(61) 评论(0) 推荐(3) 编辑
摘要:图的存储 邻接矩阵 数据结构 设图的结点个数为 \(n\),定义 \(n\times n\) 的二维数组 \(g[N][N]\),其中 \(g[i][j]\) 表示结点 \(i\) 到 \(j\) 的边权。 对于带权图,\(g[i][j]=\begin{cases}w &边(i, j)的权值 \\ 阅读全文
posted @ 2024-01-12 08:39 狂飙霹雳虎 阅读(119) 评论(1) 推荐(10) 编辑
摘要:分析 首先能够一针解决的,肯定是在一个针线两端相连的连通块里,把所有连通块里的针数相加即可。 求连通块用dfs或者并查集即可。由于是二维坐标,还是转换成一维的点的编号比较方便。 下面我们就可以把原图转换成一个无向图,求连通块数。 每个连通块里的真数怎么求? 针的穿入穿出是在结点的位置,对于某一个结点 阅读全文
posted @ 2020-07-07 12:59 狂飙霹雳虎 阅读(263) 评论(0) 推荐(2) 编辑