大致题意就是给出 N对 人的通话记录,可以根据通话对象分成若干个组(连通图)。在一个连通图中,任意两个人之间的总通话时长表示边权,一个人参与的总通话时长表示点权,所有人的总通话时长表示总边权。现在给定一个阀值K,且只要连通图的总边权超过K,并满足成员数超过2,则该组视为“犯罪团伙”,而且该组内点权最 ...
分类:
其他好文 时间:
2020-03-06 13:06:46
阅读次数:
61
图的建立(邻接表),含BFS和Dijkstra算法。 1 #include<iostream> 2 #include<cstdio> 3 #include<vector> 4 #include<queue> 5 #include<algorithm> 6 #define inf 0x3f3f3f3f ...
分类:
其他好文 时间:
2020-03-05 16:41:38
阅读次数:
65
"题目链接" 题意: 给定每个边的权值,每次求u,v两点的距离。 题解: 把每个边上的权值给挂到每条边的儿子节点下面,跑一边树上前缀和自顶向下模板,没了。 裸的树上前缀和模板 但要注意:DFS中邻接表中前缀和的变量不能打错了 Code: ...
分类:
其他好文 时间:
2020-03-03 13:07:50
阅读次数:
44
大致题意就是给出一棵树,求出叶子结点的最小权值,并输出该叶子节点的个数。 这是一道模板题,我近期做的几乎都是模板题。我现在认为 树与二叉树 是对 图 的一种严格约束,并且“二叉树,树,图”使用邻接表的存储结构比较多。 1 #include<iostream> 2 #include<vector> 3 ...
分类:
其他好文 时间:
2020-03-03 11:26:36
阅读次数:
81
一、Bellman Ford算法 1. 用于解决单源最短路径的问题,但也能够处理有负权边的情况。这是与Djikstra算法不同的地方。 2. 关于复杂度,要比Djikstra的复杂度更高一点。O(VE),而Djikstra复杂度是O(V^2),V是点的数量,E是边的数量 3. 原理,就是会出现负环的 ...
分类:
编程语言 时间:
2020-03-03 11:26:13
阅读次数:
91
? 重点:dijkstra算法按层计算其余点到源点的最短距离,层层扩展。 1. dijkstra算法 求解目标:找到图中源点到其余点的最短距离,是单源点最短距离算法。 整体思路:每一步都寻找到与源点 最近的点 ,层层扩展,是贪心算法。 具体实现: 输入:给定一个图的邻接表M,源点u。 辅助变量:存储 ...
分类:
编程语言 时间:
2020-03-02 22:25:27
阅读次数:
86
1.图的概念和术语 2.图-存储方式(邻接矩阵法) 2.2、图-存储方式(邻接表法) ...
分类:
其他好文 时间:
2020-03-02 11:05:10
阅读次数:
58
数据结构 数据结构其实就是一种存储数据的格式。可以有效的改善代码中数据的存储。 稀疏矩阵 对于一个二维数组,如果数组中大部分元素为0,那么会造成内存空间极大的浪费。因此,设计一种针对稀疏数组的数据结构就很有必要,例如: 可以看出,稀疏矩阵是将一种矩阵转换,将N行M列的矩阵转换为X行3列的矩阵,当矩阵 ...
分类:
其他好文 时间:
2020-03-01 21:59:42
阅读次数:
74
图的存储 邻接表 无结构体 结构体 邻接矩阵 图的遍历 DFS 邻接表 ...
分类:
其他好文 时间:
2020-02-25 00:25:05
阅读次数:
67
将关键字序列50,40,95,20,15,70,60,45,80调整成一个小根堆,堆结构是15,20,60,45,40,70,95,50,80()。 解析:创建堆的基本思想:先把无序的关键字按顺序构造成完全二叉树,从最后一个分支节点开始往前,不断地利用筛选算法,将一棵棵子树调整为一个堆(让根与其左右 ...
分类:
其他好文 时间:
2020-02-23 20:33:06
阅读次数:
98