题意:在一张有向图中输出所有的环。思路:先用Floyd求传递闭包,然后通过传递闭包建图若是Map[i][j] && Map[j][i]则建一条无向边。然后图中所有的连通分支即为一个环。代码如下: 1 /************************************************....
分类:
其他好文 时间:
2014-06-27 18:21:27
阅读次数:
222
做一个医学项目,当中在病例评分时会用到单源最短路径的算法。单源最短路径的dijkstra算法的思路例如以下:如果存在一条从i到j的最短路径(Vi.....Vk,Vj),Vk是Vj前面的一顶点。那么(Vi...Vk)也必然是从i到k的最短路径。Dijkstra是以最短路径长度递增,逐次生成最短路径的算...
分类:
Web程序 时间:
2014-06-27 17:21:16
阅读次数:
308
该算法的基本思想就是按照拓扑排序的顺序依次将每个顶点加入到最短路径树中,每次加入时将该顶点延伸出的所有顶点进行“放松”操作。这种算法的复杂度是E+V。
代码
这种算法的代码比Dijkstra还要简单,代码如下:
public class TopologySP extends SP {
public TopologySP(EdgeWeightedDigr...
分类:
其他好文 时间:
2014-06-27 10:17:22
阅读次数:
247
题目链接:http://poj.org/problem?id=3311
解法:标准的状压dp类型,先floyd获得两两之间最短距离。然后dp[i][j]表示剩下集合i没走,已经走到j的最短距离;
代码:/******************************************************
* @author:xiefubao
******************...
分类:
其他好文 时间:
2014-06-27 10:11:29
阅读次数:
282
题目地址:http://poj.org/problem?id=2112
最近忙着预习课本备考,没怎么刷题,(我是真的有在好好看书。。)不敲题还是手痒痒,马上就邀请赛了,还是每晚睡觉前都拿来刷题吧。白天的时间足够了。
话说这题调了一晚上。。。一直以为是几天没敲状态下滑。。(虽然也没几天。。)当发现错误的时候才发现原来是少敲了个字母。。。而且我一般很少在bfs的那个地方出错,错误地方也很隐蔽。。所...
分类:
其他好文 时间:
2014-06-27 09:12:36
阅读次数:
196
求给定起点到终点的路径中,最小边权的最大值
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define inf 0x3f3f3f3f
#define ll __int64
#define mod 1000000007
using namespace st...
分类:
其他好文 时间:
2014-06-27 08:29:49
阅读次数:
251
第一节 Floyd-Warshall算法本算法可以求任意两个点之间的最短路径,又称“多源最短路径”,其时间复杂度为O(n^3)其核心部分只有下面几行,注意加法的溢出处理 //floyd最短路径算法的核心部分 for(int k = 0; k grid[i][k]+grid[k][j])...
分类:
其他好文 时间:
2014-06-24 21:48:25
阅读次数:
290
传送门 http://poj.org/problem?id=1135
建模分两部分:1、如果最后是关键牌倒下,那么找最短路中最长的就行--最远的倒下,其他的牌一定倒下,所以找最远的最短路
2、如果最后是普通牌倒下,那么找三角形,三角形周长的一半就是倒下的位置
到底是情况1还是情况2,自己在脑子模拟一下就能想到,还是那句话,最难倒下的倒...
分类:
其他好文 时间:
2014-06-24 18:47:11
阅读次数:
117
图论中一个经典问题就是求最短路,最为基础和最为经典的算法莫过于 Dijkstra 和 Floyd 算法,一个是贪心算法,一个是动态规划,这也是算法中的两大经典代表。用一个简单图在纸上一步一步演算,也是很好理解的,理解透自己多默写几次即可记住,机试时主要的工作往往就是快速构造邻接矩阵了。
对于平时的练习,一个很厉害的 ACMer 说:“刷水题可以加快我们编程的速度,做经典则可以让我们触类旁通,初期如果遇见很多编不出,不妨就写伪代码,理思路,在纸上进行整体分析和一步步的演算,然后在转换成代码,再反复迭代”。L...
分类:
其他好文 时间:
2014-06-22 20:36:46
阅读次数:
269
问题
最短路径问题的Dijkstra算法
是由荷兰计算机科学家艾兹赫尔·戴克斯特拉提出。迪科斯彻算法使用了广度优先搜索解决非负权有向图的单源最短路径问题,算法最终得到一个最短路径树> 。该算法常用于路由算法或者作为其他图算法的一个子模块。
这个算法的python实现途径很多,网上能够发现不少。这里推荐一个我在网上看到的,本来打算自己写,看了这个,决定自己不写了,因为他的已经太...
分类:
其他好文 时间:
2014-06-21 20:58:46
阅读次数:
183