随笔分类 -  图论:最短路

摘要:题意 给出一个N个点M条边的无向图,经过一个点的代价是进入和离开这个点的两条边的边权的较大值,求从起点1到点N的最小代价。起点的代价是离开起点的边的边权,终点的代价是进入终点的边的边权N<=100000M<=200000 题解一 题解二 比较有技巧的建图 首先考虑暴力点的建图: 把每条无向边拆成两条 阅读全文
posted @ 2019-07-30 17:35 DWVictor 阅读(398) 评论(0) 推荐(1)
摘要:题面链接 题解 令x-y<=z表示x最大比y大z。 若b-a<=k1, c-b<=k2, c-a<=k3,那么c-a最大为多少呢?显然应该等于min(k1+k2, k3)。可以用下图来表示示(不擅图丑勿怪) C++堆优化代码 C++配对堆优化 阅读全文
posted @ 2019-07-30 17:30 DWVictor 阅读(362) 评论(0) 推荐(0)
摘要:用途: 解决单源最短路径问题(已固定一个起点,求它到其他所有点的最短路问题) 算法核心(广搜): (1)确定的与起点相邻的点的最短距离,再根据已确定最短距离的点更新其他与之相邻的点的最短距离。 (2)之后的更新不需要再关心最短距离已确定的点 三种实现模板: 一、矩阵朴素版 二、vector简单版 三 阅读全文
posted @ 2019-01-27 11:46 DWVictor 阅读(373) 评论(0) 推荐(0)
摘要:题目题目描述贝茜在谷仓外的农场上,她想回到谷仓,在第二天早晨农夫约翰叫她起来挤奶之前尽可能多地睡上一觉.由于需要睡个好觉,贝茜必须尽快回到谷仓.农夫约翰的农场上有N(2≤N≤1000)个路标,每一个路标都有唯一的编号(1到N).路标1是谷仓,路标N是贝茜一整天呆在那里的果树园.农场的所有路标之间共有 阅读全文
posted @ 2019-01-27 11:44 DWVictor 阅读(289) 评论(0) 推荐(0)
摘要:高玩小Q不仅喜欢玩寻宝游戏,还喜欢一款升级养成类游戏。在这个游戏的世界地图中一共有n个城镇,编号依次为1到n。 这些城镇之间有m条单向道路,第i 条单项道路包含四个参数ui,vi,ai,bi,表示一条从ui号城镇出发,在vi号城镇结束的单向道路,因为是单向道路,这不意味着小Q可以从vi沿着该道路走到 阅读全文
posted @ 2019-01-22 00:47 DWVictor 阅读(195) 评论(0) 推荐(0)
摘要:想了解更多:click here... HERE.. 一、最短路径 ①在非网图中,最短路径是指两顶点之间经历的边数最少的路径。 AE:1 ADE:2 ADCE:3 ABCE:3 ②在网图中,最短路径是指两顶点之间经历的边上权值之和最短的路径。 AE:100 ADE:90 ADCE:60 ABCE:7 阅读全文
posted @ 2019-01-17 17:13 DWVictor 阅读(2779) 评论(0) 推荐(1)
摘要:不用说这两位都是冷门算法……毕竟O(n^3)的时间复杂度算法在算法竞赛里基本算是被淘汰了……而且也没有在这个算法上继续衍生出其他的算法… 有兴趣的话:click here.. 话说学离散的时候曾经有个把warshall算法简化到1/2时间的想法……不过懒得去翻了,现在想想本来这两个不用矩阵而用位运算 阅读全文
posted @ 2019-01-17 17:11 DWVictor 阅读(2595) 评论(0) 推荐(0)
摘要:分类:单源最短路径算法。 适用于:稀疏图(侧重于对边的处理)。 优点:可以求出存在负边权情况下的最短路径。 缺点:无法解决存在负权回路的情况。 时间复杂度:O(NE),N是顶点数,E是边数。(因为和边有关,所以不适于稠密图) 算法思想:很简单。一开始认为起点是“标记点”(dis[1] = 0),每一 阅读全文
posted @ 2019-01-17 16:08 DWVictor 阅读(1640) 评论(0) 推荐(2)
摘要:适用于:稀疏图(侧重于对边的处理)。 时间复杂度:O(KE),K是常数,平均值为二,E是边数。(因为和边有关,所以不适于稠密图) 来源:SPFA是Bellman-Ford算法的一种队列实现,减少了不必要的冗余计算。 这个算法简单地说就是队列优化的Bellman-Ford,利用了每个点不会更新次数太多 阅读全文
posted @ 2019-01-17 16:07 DWVictor 阅读(546) 评论(0) 推荐(0)