做OJ需要用到搜索最短路径的题,于是整理了一下关于图的搜索算法: 图的搜索大致有三种比较常用的算法: 迪杰斯特拉算法(Dijkstra算法) 弗洛伊德算法(Floyd算法) SPFA算法 Dijkstra算法使用了广度优先搜索解决赋权有向图或者无向图的单源最短路径问题,算法最终得到一个最短路径树。  ...
                            
                            
                                分类:
编程语言   时间:
2018-11-15 18:27:24   
                                阅读次数:
229
                             
                         
                    
                        
                            
                            
                                    弗洛伊德算法是实现最小生成树的一个很精妙的算法,也是求所有顶点至所有顶点的最短路径问题的不二之选。时间复杂度为O(n3),n为顶点数。 精妙之处在于:一个二重初始化,加一个三重循环权值修正,完成了所有顶点至所有顶点的的最短路径计算,代码及其简洁 JS实现: 运行结果:(结果太长只截取不分) 求最短路 ...
                            
                            
                                分类:
编程语言   时间:
2018-11-15 17:07:01   
                                阅读次数:
160
                             
                         
                    
                        
                            
                            
                                题意:给出任意两点之间的距离,然后逐个删除这些点和与点相连的边,问,在每次删除前的所有点对的最短距离之和 分析:首先想到的是floyd,但是如果从前往后处理,复杂度是(500)^3,超时,我们从后往前处理,这样我们可以看作是添加点,而且这样的话每次只需要考虑添加点的缩进,所以复杂度是(500)^2, ...
                            
                            
                                分类:
其他好文   时间:
2018-11-10 15:57:22   
                                阅读次数:
182
                             
                         
                    
                        
                            
                            
                                Treasure Exploration 题目链接:http://poj.org/problem?id=2594 Description: Have you ever read any book about treasure exploration? Have you ever see any fi ...
                            
                            
                                分类:
其他好文   时间:
2018-11-09 00:00:21   
                                阅读次数:
205
                             
                         
                    
                        
                            
                            
                                    传送门 突然想起第一次讲课的时候说错了floyd的事... 当时LZY还在然后被直接打脸就很爽 也不知道这一次自己能不能剩下来 又会有多少人走掉 这题利用了floyd的滚动数组优化掉的那一维 也就是f[k][i][j]表示中间点仅有前k个时i->j的最短路 所以按时间排序直接做floyd 然后如果有 ...
                            
                            
                                分类:
其他好文   时间:
2018-11-08 16:25:15   
                                阅读次数:
105
                             
                         
                    
                        
                            
                            
                                    最短路 Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 91954 Accepted Submission(s): 39817 Problem D ...
                            
                            
                                分类:
其他好文   时间:
2018-11-04 17:08:29   
                                阅读次数:
101
                             
                         
                    
                        
                            
                            
                                题目简介 一个无向正权图,求任意两个节点之间的路径里最短的路径长度。 直接Floyd解决,就是注意要把Floyd的DP式子改一下成 G[i][j]=min(G[i][j],max(G[i][k],G[k][j]));还有无向图要双向赋值 代码 include using namespace std; ...
                            
                            
                                分类:
其他好文   时间:
2018-11-03 02:22:06   
                                阅读次数:
186
                             
                         
                    
                        
                            
                            
                                    一个人的旅行 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 52212 Accepted Submission(s): 17369 Proble ...
                            
                            
                                分类:
其他好文   时间:
2018-11-03 02:14:10   
                                阅读次数:
182
                             
                         
                    
                        
                            
                            
                                    畅通工程续 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 72377 Accepted Submission(s): 28012 Problem ...
                            
                            
                                分类:
其他好文   时间:
2018-11-02 23:56:49   
                                阅读次数:
200
                             
                         
                    
                        
                            
                            
                                    六度分离 Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 12712 Accepted Submission(s): 5099 Problem D ...
                            
                            
                                分类:
其他好文   时间:
2018-11-02 23:34:20   
                                阅读次数:
103