Solution: Dijkstra (大概读作:迪杰斯特拉?) 算法思想: 给定一张n个点,m条边的图,起点为s。求起点s到图中所有点的最短路径(单源最短路。dis[i]表示从起点到i的最短距离。vis[i]表示此点是否已被标记确定为最短。 1、初始化dis[s]=0,其余结点dis为正无穷大。 ...
分类:
编程语言 时间:
2020-07-19 00:39:57
阅读次数:
85
1.图: 1.1无向图的定义:一个无向图G是一个有序的二元组<V,E>,其中V是一个非空有穷集,称作顶点集,其元素称作顶点或结点。E是无序积V&V的有穷多重子集,称作边集,其元素称作无向边,简称边。 注意:元素可以重复出现的集合称作多重集合。某元素重复出现的次数称作该元素的重复度。例如,在多重集合{ ...
分类:
其他好文 时间:
2020-07-18 22:18:13
阅读次数:
175
题目描述 \(\text{Tom}\) 热爱出毒瘤题,但这次他似乎出了一个并不毒瘤的题。 给定一张 \(N\) 个点 \(M\) 条无向边的图,每条边有边权 \(w\)。定义一个连通块的大小为该连通块内所有边权的和。 然后进行 \(K\) 组询问。每次询问在由所有边权不超过 \(X_i\) 的边构成 ...
分类:
其他好文 时间:
2020-07-13 21:30:08
阅读次数:
66
数组模拟单链表,图论的基础 单链表用的最多的是邻接表,邻接表是n个单链表,邻接表是树和图的存储方式 单链表 >> 邻接表 >> 存储树和图 单链表开始时是head指向空节点 插入元素后长这样 每个节点存储两个值 值:val 指针:next 然后用数组模拟就需要定义几个数组 e[N]:存储每个节点的v ...
分类:
其他好文 时间:
2020-07-11 17:43:21
阅读次数:
62
(集训模拟赛2)抢掠计划(tarjan强) 题目:给你n个点,m条边的图,每个点有点权,有一些点是“酒吧”点,终点只能在“酒吧”,起点给定,路可以重复经过,但点权只能加一次,求最大的结果。 例如这个图,双实线表示是酒吧,结果呢是1->2->4->1->2->3->5所得值。 输入格式: 第一行N,M ...
分类:
其他好文 时间:
2020-07-10 15:01:48
阅读次数:
45
最近一直在做图论的题目。对于初始化的效率要求比较高。正巧我也对这三个函数不是很清楚。 就写了个测试程序来测试效率 测试程序: #include <bits/stdc++.h> //#pragma GCC optimize(2) using namespace std; #define max 100 ...
分类:
其他好文 时间:
2020-07-10 13:03:50
阅读次数:
82
主要参考资料: data mining and analysis (Mohammed..) ...
分类:
其他好文 时间:
2020-07-09 15:06:52
阅读次数:
89
「解题报告」[省选联考 2020 B 卷] 丁香之路 (图论 欧拉路 最小生成树) 传送:door: 题意 一张有 \(n\) 个节点的无向图, 点 \(i,j\) 之间的边权为 \(|i-j|\). ($ n \le 2500$) 有 \(m\) 条必须经过的边. \((m \le \frac{n ...
分类:
其他好文 时间:
2020-07-09 12:37:44
阅读次数:
135
最短路算法(三)Dijkstra算法 PS:因为这两天忙着写GTMD sagment_tree,所以博客可能是sag+图论混搭着来,另外sag的基本知识就懒得整理了…… Part 1:Dijkstra算法基本信息 以下,我们用dis[n]表示1->n的最短路径长度,vis[n]表示n号节点有没有被访 ...
分类:
编程语言 时间:
2020-07-09 12:17:08
阅读次数:
123
转自在线白给大佬 什么是最大匹配? 匹配:在图论中,一个「匹配」是一个边的集合,其中任意两条边都没有公共顶点。 最大匹配:一个图所有匹配中,所含匹配边数最多的匹配,称为这个图的最大匹配。 完美匹配:如果一个图的某个匹配中,所有的顶点都是匹配点,那么它就是一个完美匹配。 交替路:从一个未匹配点出发,依 ...