全源最短路Johnson学习笔记】的更多相关文章

前置扯淡 一年多前学的最短路,当时就会了几个名词的拼写,啥也没想过 几个月之前,听说了"全源最短路"这个东西,当时也没说学一下,现在补一下(感觉实在是没啥用) 介绍 由于\(spfa\)容易被卡,实际上我们在\(O(nlog \space n)\) 的算法只有堆优化的\(Dijkstra\) 由于先天问题,\(Dijkstra\)无法处理在负权图上的问题 所以"\(Johnson\)全源最短路"算法就应运而生了 算法流程 我们针对\(Dijkstra\)无法处理负权…
例题:P5905 [模板]Johnson 全源最短路 首先考虑求全源最短路的几种方法: Floyd:时间复杂度\(O(n^3)\),可以处理负权边,但不能处理负环,而且速度很慢. Bellman-Ford:以每个点为源点做一次Bellman-Ford,时间复杂度\(O(n^2m)\),可以处理负权边,可以处理负环,但好像比Floyd还慢? dijkstra:以每个点为源点做一次dijkstra,时间复杂度\(O(nmlogm)\),不能处理负权边,但比前面两个快多了. 好像--只有dijkstr…
学这个是为了支持在带负权值的图上跑 Dijkstra. 为了这个我们要考虑把负的权值搞正. 那么先把我们先人已经得到的结论摆出来.我们考虑先用 SPFA 对着一个满足三角形不等式的图跑一次最短路,具体就是在原图的基础上建立超级源点. 然后我们把得到的这个东西称为 势能 \(h\) ,我们对于原图的每条边 \((u,v)\)的边权加上 \(h_u-h_v\),然后就可以跑 Dijkstra 了,求出的答案是 \(dis_{i,j}-h_i+h_j\).然后我们证明这样搞是对的. 首先需要证明这个搞…
3.2最短路之全源最短路(Floyd) 这个算法用于求所有点对的最短距离.比调用n次SPFA的优点在于代码简单,时间复杂度为O(n^3).[无法计算含有负环的图] 依次扫描每一点(k),并以该点作为中介点,计算出通过k点的其他任意两点(i,j)的最短距离,这就是floyd算法的精髓!同时也解释了为什么k点这个中介点要放在最外层循环. void floyd() { memset(dis,,sizeof(dis)); ;i<=n;i++) dis[i][i]=; ;k<=n;k++)//中介点 ;…
https://www.bilibili.com/video/av15241731 笔记来源:黑马程序员 HTML(Hyper Text Markup Language):超文本标签语言 HTML标签关系: 1.嵌套关系 2.并列关系 Sublime快捷键:html:5+Tab 或者!+Tab可以生成如下模板: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&q…
主要了解一下zepto定义的初始变量. 逐一以自己的理解解析,待到后面完全透彻理解之后,争取再写一遍zepto源码学习的文章. 其中的undefined确实不明白为什么定义这么个变量在这里. document = window.document根据个人理解应该是要兼容一些特殊情况下获取document的问题,但是也不知道在什么样的情况下,需要使用window.docment才能获取到document对象. key: 后面会多次用到初始化变量key,在for in循环中,需要确定键的名称,基本上只…
为了深入学习javascript,根据别人推荐的方法之一:研究源码. 相对而言,之前的项目中仅仅使用过zepto和jquery,当前阶段,看到好几千行的jquery源码,心生敬畏,望而却步,所以选择相对精简一点的zepto. 首先,最重要的是理清楚zepto的结构. zepto采用的立即执行函数来实现避免对全局变量污染. javascript立即执行函数有两张写法: 1. (function(形参){...})(实际传入参数); 2. (function(形参){...}(实际传入参数)); z…
微信公众号:CodingAndroid cnblog:http://www.cnblogs.com/angel88/ CSDN:http://blog.csdn.net/xinpengfei521 需求:设计一个图片加载工具类. 要求:职责单一.可扩展性强.实现三级缓存,遵循开闭原则. 1.改造前原始代码 package com.anloq.sdk.imageloader;import android.graphics.Bitmap;import android.graphics.BitmapF…
<PHP7底层设计与源码实现>一书的作者陈雷亲自给我们授课,大佬现身!但也因此深感自己基础薄弱,遂买了此书.希望看完这本书后,能让我对PHP7底层的认识更上一层楼.好了,言归正传,本书共14章,此篇笔记是1~2章的总结,主要介绍了PHP7的新特性.执行原理和PHP源码结构. 一.PHP7的新特性   新特性 PHP7+ 老版本可以这样做 太空船操作符 <=> 太空船操作符又叫组合比较符,用于比较两个表达式,表达式可以为整型.浮点型.字符串.   \$a <=> \$b,…
首先django-restframework是基于django的一个框架.   mixins.py中开头是这样写的: Basic building blocks for generic class based views. We don't bind bahaviour to http method handlers yet, whick allows mixin classes to be composed in interesting ways.   generics是把对数据库的增删改查都…