第一阶段复习

news/2024/10/9 18:18:01

目录
  • 最短路部分
    • 最小环
    • 传递闭包
    • Dij证明
    • 反图
    • 负环
    • 最短路计数
    • 次短路
    • 分层图的几个典例
    • 最短路结合二分

最短路部分

最小环

一些细节:枚举最小环是依据还没有更新经过k的最短路,所以要写在更新经过k的最短路之前。要判断是否存在路径。ijk三指针需要i与k、j与k相连。

传递闭包

f[i][j] |= f[i][k] & f[k][j];

注意是有向图

Dij证明

命题:在取出最短路长度最小的节点u的时候,u的最短路已经被确定,即D(u)=dis(u)
证明:设u是算法中第一个在加入S集合时不满足D(u)=dis(u)的点。(u的存在性略)。一定存在一条路径s→x−y→u,其中y是路径上第一个属于T集合的点。而x和y直接相连,显然x∈S。
因为D(x)=dis(x),所以(x,y)会被松弛,于是加入u的时候,一定有,D(y)=dis(y)
因为边权为正,所以D(y)≤D(u),从而dis(y)≤D(y)≤D(u)≤dis(u)。但因为u被取出,所以dis(u)≤dis(y),故D(u)=dis(u),与假设矛盾。命题得证。

来自OI-Wiki

反图

负环

例题:拉近距离

image

image

最短路计数

方法:因为不涉及权值,所以单纯bfs就好。自环不会影响结果,因为如果经过自环,一定比不经过自环要长,所以输入判自环。重边会影响结果,但是一样计入即可(可不可以用乘法什么的优化)。在遇到一个没访问过的点时,一定是最短路,更新即可,该点的计数+=前驱的计数;若遇到访问过的点,且该点最短路长度大于前驱最短路长度(其实这两个长度必定只差1),则依然更新,其他情况都不是最短路,不更新。这题做完了。

次短路

例题:[USACO06NOV]Roadblocks G

  • 首先想到在最短路算法的过程中计算次短路。进而想到开两个数组,一个是dis1用来存最短路,一个是dis2用来存次短路。
  • 更新最/次短路是最重要的一点。
  • 对于u向v的更新:(定义折线长度为u点最短路加(u,v)边权)
  • 判断1:如果dis1[v]可以更新,则更新dis1[v] 。(这里可以加一句,让dis2[v]等于先前的dis1[v] )
  • 判断2:如果dis1[v]不能更新(这不代表dis2[v]不能更新)。那么如果折线长度小于dis2[v],而且折线长度大于dis1[v](这个dis1[v]并没有被更新,注意这里的逻辑),则更新dis2[v]为折线长度。
  • 判断3:注意到判断2中更新dis2[v]的是最短路的折线长度,这一定比次短路的折线长度更优,所以判断2若不成立,那么才考虑,用次短路的折线长度更新。换个角度理解,这个算法其实是两次松弛,判断2保证了严格小于最短路的次短路。
  • 对于三个判断,有一个成立,就要入队。因为更新势必造成对之后的影响,就要入队。而且从if,else if的角度也很好理解。
  • 这里可以发现,判断123是转折的,可以用else-if连接,比方说,判断2成立,判断3就一定不成立。
  • 好在该题可以一条边重复走。

分层图的几个典例

最短路结合二分

例题:通往奥格瑞玛的道路

边权是扣的血量。点权是要花的路费。

那肯定是最短路和边权有关。

二分最小花费,每次跑一次最短路。

单调性:如果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/27901.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

开源运维监控平台【WGCLOUD】的调研报告 2024

WGCLOUD是一款开源免费的运维监控软件,具有设计严谨,功能丰富,部署简单,上手学习容易,性能优秀,免费开源开放等特点 网站下载:www.wgstart.com 1、WGCLOUD可以监控各种主机,包括物理机、实体机、虚拟机、云主机、VPS等主机或者服务器 监控指标数据包括:操作系统信息,…

面试必问并发编程内存模型JMM与内存屏障剖析 学习

总课程:1、JMM。每个线程会产生一个变量副本。如下图所示,第二个变量修改了变量initFlag,但线程1并不会退出,是因为每个线程产生了副本。----解决方法:volatileCPU缓存一致性协议:MESI机制,以及内存模型底层八大原子操作。Volatile缓存可见性实现原理:底层实现主要通过…

spring项目创建

从spring initializer下载一个demo Spring boot 在idea中 需要配置java版本和maven版本之后:mvn package不需要下载tomcat,Spring里面pom中包含内置tomcat<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-…

高一下三调|ssy的队列|hash dp|题解

SSY的队列题目链接 解析: 考场上看到这个题第一眼是绝望的,毕竟数论咱是一窍不通. 但是往下细看了看这个数据范围,N是很小的,就想了想模拟. 然而只骗到10分. 这个题绩效较高的解法是状压dp,在N<15的范围之内均可薄纱(ppllxx_9G也是成功拿到这70 rank 1了 orz),可得70,但是一…

Git——关于Git的一些补充(1)

Git——关于Git的一些补充(1) 提示:图床在国外且动图比较多的情况下,需要时间加载。 目录: 目录Git——关于Git的一些补充(1)提示:图床在国外且动图比较多的情况下,需要时间加载。目录:Git基础Git文件的生命周期Git文件的存储空间的划分Git安装过程补充说明Git的撤销…

UHF RFID 使用小记

1,概念 UHF:Ultra High Frequency;超高频。 RFID:Radio Frequency Identification;射频识别。 电子标签:即RFID标签,是RFID的俗称。 PDA:Personal Digital Assistant;个人数字助理。 发卡器:对卡进行读写操作的工具。 EPC:Electronic product code;电子产品代码。 …

文学作品|在线阅读

分享文字和音频类的文学作品,陶冶情操,宣传正能量。#wh-tab{font-size:20px;text-align:center;}a:link {text-decoration: none;}td{font-size: 16px;text-align:center;}td:empty:after{content:虚位以待;color:grey;} 前言 若有空,将古今中外的常见文学作品挂载在网络上,…

[转]ptp(precision time protocol)时钟同步

一、介绍1:什么是ptpPTP(Precision Time Protocol) 是一个通过网络同步时钟的一个协议。当硬件支持时,PTP 精度能达到亚微秒,比 NTP(Network Time Protocol)精度更高。 2:ptp应用场景1)数据中心数据中心需要NTP/PTP同步,以确保集群的时域运行。同步对于虚拟机计算是必不…