关于分层图

分层图学习笔记

学习博客1
学习博客2学习

前言这么好的地方固然是留给喷喷们的话啦~

据说写这个会被喷菜但我就是想写我乐意你管我你咬我啊菜还用你说我本身内心早就很清楚了spa

正文:

什么是分层图?

就是把原图复制下来,每一个原图就是一层,在原图的链接基础上再在相邻的层上加一些要求的边(通常是题目要求的怎么变化),通常是单向边,这样能够保证他不会再回来。.net

什么时候应用分层图?

当最短路出现变化的时候也就是变化的最短路,例如咱们可使\(k\)条边的边权为零,改变\(k\)条边的链接方式,而咱们又是事先并不知道要改哪些或者删除哪些边的,这个时候就要用到分层图。blog

Why?

为何呢?你为何不问问神奇海螺呐?放心好啦,我已经替你问过神奇海螺了,她让我来转告你。get

注意如下的话所有来自神奇海螺!

首先假设咱们有一个图,咱们能够删去其中的\(k\)条边,咱们还知道这个图的链接状况, 要求求出某点到某点的最短路径博客

假设图是这样的:
(每次请灵魂画师入场都很贵的!)
io

由于咱们要删去\(k\)条边,咱们又不知道要删哪\(k\)条边。那就只能枚举。class

咱们假设咱们复制了\(k\)层,看第一个图能够知道从\(u\)\(v\)有一条长度为\(3\)的边,咱们如今枚举到了\(u\)\(v\)这条边咱们能够这样处理基础

\(u\)\(v{’}\)之间连一条长度为0的边跑到下一层里,而后再继续找这一层里的答案,不断更新便可学习笔记

就是这样,没了

谢谢收看,祝身体健康!

相关文章
相关标签/搜索