总目录 > 8 图论 > 8.3 最小生成树 前言 树与图的紧密联系通过这一部分的内容就很好诠释了!名为生成树,实为图上问题,可以理解为由一张图生成一棵树。 子目录列表 1、连通图与生成树 2、最小生成树 3、Kruskal 算法 4、Prim 算法 8.3 最小生成树 1、连通图与生成树 在 8. ...
分类:
其他好文 时间:
2020-06-05 00:42:24
阅读次数:
94
#include<cstdio> #include<queue> #include<cstring> #include<cmath> #include<iostream> #define mod 9987 using namespace std; const int N=1000005; int e ...
分类:
其他好文 时间:
2020-06-04 09:12:20
阅读次数:
66
约定 我是怎么存图的呢? 普通的邻接表。 const int N = 1e5+15; // 点数 const int M = 1e6+15; // 边数 int ct,hd[N],nt[M<<1],vr[M<<1],vl[M<<1]; void ad(int a,int b,int c) { // ...
分类:
编程语言 时间:
2020-06-03 21:57:14
阅读次数:
98
本题的关键是要知道图论中的一个原理:无向图中, n个结点 至少需要 n-1条边,才能使各个结点相连。 有两种解法: 1.用递归遍历的方式,计算有多少个独立的连通的部分,我称为“簇”。需要移动的边就是 簇的个数减1。 2.使用并查集,计算有几个联通部分,有几条多余的边。如果多余的边小于联通部分,返回- ...
分类:
Web程序 时间:
2020-06-03 17:36:29
阅读次数:
81
图论算法(一)存图 我发现我的博客阅读量贼低,问小伙伴们,ta们都说这些博客太长了QAQ! 今天来个短亿点的(也短不了多少……) 进入正题,图论究竟是什么? 图论就是给你一张图,让你在这张图上进行各种操作,但是我们要进行操作之前,要先明白图是什么。 如果你还不了解图是什么,我这里稍微BB一两句,如果 ...
分类:
编程语言 时间:
2020-06-03 17:27:39
阅读次数:
75
题目链接 题解 这题好像不是网络流?注意到$n$最大只有20,所以可以考虑把$bug$的状态压缩成一个整数,对应位上为1代表存在这个$bug$,0表示不存在这个$bug$然后就可以根据补丁建图跑最短路就行了 查看代码 #include <bits/stdc++.h> using namespace ...
分类:
其他好文 时间:
2020-06-02 18:52:46
阅读次数:
61
Dijkstra也叫迪杰斯特拉,是典型最短路径算法,计算一个起始节点到路径中其他所有节点的最短路径的算法和思想。在一些专业课程中如数据结构,图论,运筹学等都有介绍。其思想是一种基础的求最短路径的算法,通过基础思想的变化可以解决很多复杂问题,如导航线路,动态规划等。 1|0Dijkstra 算法思想介 ...
分类:
编程语言 时间:
2020-06-02 13:13:16
阅读次数:
52
OSPF(OpenShortestPathFirst,开放式最短路径优先),一个基于链路的内部网关协议目前针对IPv4协议使用的是OSPFv2,针对IPv6使用的是OSPFv3OSPF的特点:1.适应范围广:支持各种规模网络2.快速收敛:网络拓扑发生变化后立即更新报文,可以快速同步3.无自环:根据收集到的链路状态选择最短路径,此算法可以保证不会发生环路4.区域划分:允许自治系统的网络划分区域(ar
分类:
其他好文 时间:
2020-06-02 09:49:10
阅读次数:
116
一、算法介绍 迪杰斯特拉(Dijkstra)算法用于计算一个节点到其他所有节点的最短路径。 1、单源 2、贪心算法 3、适用无负权边的情况 二、算法思想 准备2个集合 S 和 U S保存已经计算好的源节点到此节点最短距离 U保存未计算好最短记录的点 每次从U中取出最小的值,放入S中,其他节点根据此节 ...
分类:
编程语言 时间:
2020-05-31 18:19:02
阅读次数:
112
遍历和寻路算法 1.并行广度优先搜索(BFS) 功能:遍历树数据结构,通过扇出探索最近的邻居和他们的次级邻居。它用于定位连接,并且是许多其他图算法的前身。 当树较不平衡或目标更接近起点时,BFS是首选。它也可用于查找节点之间的最短路径或避免深度优先搜索的递归过程。 如何使用:广度优先搜索可用于在像B ...
分类:
编程语言 时间:
2020-05-29 19:40:53
阅读次数:
125