摘要: 迪杰斯特拉(Dijkstra)算法是最短路径算法,用于计算一个节点到其他节点的最短路径。它的主要特点是以起始点为中心一层一层的向外走(广度优先搜索),直到找到终点 先看具体的例子来体会下它的算法思想: dist[]:起点到未被并入的顶点的最短距离【类比】Prim算法中的lowCost[]:当前生成树 阅读全文
posted @ 2019-07-24 17:33 _Ackerman 阅读(4285) 评论(1) 推荐(0) 编辑
摘要: 暑假,小哼准备去一些城市旅游。有些城市之间有公路,有些城市之间则没有,如下图。为了节省经费以及方便计划旅程,小哼希望在出发之前知道任意两个城市之前的最短路程。 上图中有4个城市8条公路,公路上的数字表示这条公路的长短。请注意这些公路是单向的。我们现在需要求任意两个城市之间的最短路程,也就是求任意两个 阅读全文
posted @ 2019-07-24 11:54 _Ackerman 阅读(413) 评论(0) 推荐(0) 编辑
摘要: 1.关于set C++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vector, string, list等方便的容器,更重要的是STL封装了许多复杂的数据结构算法和大量常用数据结构操作。vector封装数组,list封装了链表,map和set封装了二叉树等,在封装这些数据结构的时 阅读全文
posted @ 2019-07-24 10:27 _Ackerman 阅读(453) 评论(0) 推荐(0) 编辑
摘要: E. Subsequences (easy version) 本题和H题唯一的不同点是数据范围。 你有一个长度为nn的字符串。你可以选择它的任意一个子序列。子序列定义为可以将这个字符串删去若干个字符得到。特别的,空串也是一个子序列。 对于一个长度为mm的子序列,选出它的花费是n-mn−m,也就是你需 阅读全文
posted @ 2019-07-24 09:58 _Ackerman 阅读(210) 评论(0) 推荐(0) 编辑