码迷,mamicode.com
首页 > 其他好文 > 详细

0阶段-第一日集训-最短路

时间:2021-07-01 16:52:37      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:技巧   思维   朴素   变化   弗洛伊德   维护   插入   等等   mic   

当齿轮开始转动————

第一日,主要内容为最短路相关算法:

技术图片

从上至下依次对应算法为:
1、SPFA求最长路及判正环
2、分段弗洛伊德
3、思维(乘法转加法)+朴素迪杰斯特拉
4、暴力+朴素迪杰斯特拉
5、朴素迪杰斯特拉的最短路计数(SPFA也行)
6、BFS+堆优化迪杰斯特拉
7、BFS

收获:

1、求连乘的最大值,可以考虑把乘法取对数转换为加法,如:
ln(a1a2a3an)=lna1+lna2+lna3+…lnan。
虽然数值发生变化,但是不会失去原来地相对大小(lnx是单调递增的)。在取最值上不失为一种很好用的技巧。可以适应加法相关的维护技巧,比如前缀和,线
段树等等。
2、dfs SPFA判断负环/正环
3、floyd中在插入第k个点后,dp[i][j]表示允许经过前k个点的i到j最短距离,同时,对于从(1,1)开始的大小k*k的矩阵,此时在这个矩阵中最短路已求出。
4、在边权大小一致时,可以朴素地bfs
5、在稠密图更适合用朴素地迪杰斯特拉,比起堆优化的。

0阶段-第一日集训-最短路

标签:技巧   思维   朴素   变化   弗洛伊德   维护   插入   等等   mic   

原文地址:https://www.cnblogs.com/Flowyuan-Foreverworld/p/14957045.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!