摘要: 迪杰斯特拉优化版本:vector + 优先队列 △迪杰斯特拉算法的核心:每次找距离s点最短的元素 + 松弛操作 ①要用优先队列取出最短距离降低时间复杂度,用veotor减少空间 ②定义一个pair类型,作为优先队列的元素。typedef pair<int , int > P ,first是距离,se 阅读全文
posted @ 2020-01-11 19:02 北冥有鱼兮 阅读(442) 评论(0) 推荐(0) 编辑
摘要: map:hash映射,提供key和value,实现一对一的映射 ①头文件:#include <map> ②使用方法:map<type1 , type2> Map; ③实现方法:map用红黑树实现,map先按照type1升序排序,再按type2升序排序。因此map是有序的,无须对map进行排序 ④通过 阅读全文
posted @ 2020-01-11 18:47 北冥有鱼兮 阅读(291) 评论(0) 推荐(0) 编辑
摘要: pair:用来将两个数据组合成一个数据 ①头文件:#include <utility> ②每个pair 有两个属性值first和second,可通过first ,second访问成员数据: ③可使用typedef 定义 pair类型: typedef pair<int, int> P ; P p(1 阅读全文
posted @ 2020-01-11 17:51 北冥有鱼兮 阅读(788) 评论(0) 推荐(0) 编辑
摘要: 优先队列 priority_queue:按照优先级排序,优先级高的排在队首,用堆(heap)、二叉堆 实现 ①头文件:#include <queue> ②用法:priority_queue <type, contiainer, functional> type: 数据类型 container:容器类 阅读全文
posted @ 2020-01-11 13:52 北冥有鱼兮 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 题解:vector + 优先队列 -> 迪杰斯特拉算法 不必求任何两点的距离,只求行星据点到其余每个点的距离即可 把count个行星据点到其余每个点的距离存入二维数组 每一列就是对应顶点i到每个行星据点的最短距离,取出放入一维数组sort,然后取前k个即可,如果遇到INF则跳过不取 //迪杰斯特拉算 阅读全文
posted @ 2020-01-11 13:31 北冥有鱼兮 阅读(131) 评论(0) 推荐(0) 编辑
摘要: memset:按照字节填充字符 ①头文件:#include <string.h> ②一般用于填充char数组 ③用memset填充int数组的话,只能赋值0,-1,INF(0x3f3f3f3f),否则会出错,直接赋值为-1 fill:为一个区间赋值 ①头文件:#include <algorithm> 阅读全文
posted @ 2020-01-11 13:14 北冥有鱼兮 阅读(337) 评论(0) 推荐(0) 编辑