码迷,mamicode.com
首页 >  
搜索关键字:dijkstra and floyd    ( 3573个结果
POJ 2391.Ombrophobic Bovines 解题报告
实际上是求最短的避雨时间。首先将每个点拆成两个,一个连接源点,一个连接汇点,连接源点的点的容量为当前单的奶牛数,连接汇点的点为能容纳的奶牛数。floyd求任意两点互相到达的最短时间,二分最长时间,最大流判断是否可行。注意路径时间会超过int/* 最大流SAP 邻接表 思...
分类:其他好文   时间:2014-09-16 00:07:29    阅读次数:346
寻路算法A*, JPS(跳点搜索)的一些杂谈
A*是一个比较经典的启发式寻路算法。是基于dijkstra算法,但是加入了启发函数,使路径搜索效率更高。实现起来很简单。不过要做到通用性高,比如支持各种不同类型的地图,甚至不仅仅是地图,而是个图结构如解决拼图游戏N-puzzle会用到的,就需要多花点心思。用C++实现的话,可以使用模板来适应不同的需...
分类:其他好文   时间:2014-09-15 19:26:29    阅读次数:312
算法手记(2)Dijkstra双栈算术表达式求值算法
这两天看到的内容是关于栈和队列,在栈的模块发现了Dijkstra双栈算术表达式求值算法,可以用来实现计算器类型的app。编程语言系统一般都内置了对算术表达式的处理,但是他们是如何在内部实现的呢?为了了解这个过程,我们可以自行搭建一套简易的算术表达式处理机制,这里就用到栈特性和本篇提到的Dijkstr...
分类:其他好文   时间:2014-09-15 17:29:29    阅读次数:205
usaco-3.2-butter-passed
这个题目,放在周未,卡了两天,恶补了两天dijkstra算法,各种书都查阅了,还是刘汝佳提供的dijkstra能完美解决,一次通过。并且,将算法进行了封装,这个,有点强:/*ID: qq104801LANG: C++TASK: butter*/#include #include #include #...
分类:其他好文   时间:2014-09-14 17:56:17    阅读次数:359
dijkstra
#define maxSize 10//节点类型class VNode{public: int no; char info;};//图类型class MGraph{public: float edges[maxSize][maxSize];//float表示权值 int n,e; VNode vex...
分类:其他好文   时间:2014-09-14 16:42:17    阅读次数:213
UVA 11367 - Full Tank?(最短路+DP)
UVA 11367 - Full Tank? 题目链接 题意:给定一个无向图,每个点有一个加油站,有一个油价,现在一辆车,每次询问要从起点s走到t,邮箱容量为c,问最小代价 思路:dijkstra算法,d数组多一个状态,表示当前油量即可 不过这题如果每次都把所有状态转移完,挺费时间的,卡着时间过的 后面改成每次1升1升加油去转移状态,效率会比较快,因为有很多无用状态可以省...
分类:其他好文   时间:2014-09-12 23:32:14    阅读次数:681
POJ 2112.Optimal Milking 解题报告
时间限制:2s空间限制:30M题意: 有K台挤奶机(编号1~K),C头奶牛(编号K+1~K+C),给出各点之间距离。现在要让C头奶牛到挤奶机去挤奶,每台挤奶机只能处理M头奶牛,求使所走路程最远的奶牛的路程最短的方案。Solution: 先Floyd求最短路,然后最大流二分答案ans。 ...
分类:其他好文   时间:2014-09-12 23:25:54    阅读次数:221
Floyd最短路径算法
Floyd-Warshall算法(Floyd-Warshall algorithm)是解决任意两点间的最短路径的一种算法,可以正确处理有向图或负权的最短路径问题,同时也被用于计算有向图的传递闭包。 通过一个图的权值矩阵求出它的每两点间的最短路径矩阵。 从图的带权邻接矩阵A=[a(i,j)] n×n开始,递归地进行n次更新,即由矩阵D(0)=A,按一个公式,构造出矩阵D(1);又...
分类:其他好文   时间:2014-09-12 13:31:46    阅读次数:332
poj3311 Hie with the Pie,状态压缩
题目链接:http://poj.org/problem?id=3311 Floyd + 状态压缩DP 题意是有N个城市(1~N)和一个PIZZA店(0),要求一条回路,从0出发,又回到0,而且距离最小。 状态:dp[S][v]表示从v出发访问剩余的所有顶点(集合S),最终回到顶点0的路径的权重总和最小值。 #include #include #inc...
分类:其他好文   时间:2014-09-11 15:21:52    阅读次数:161
Dijkstra单源最短路算法的C++实现
这是一个简易的Dijkstra算法的优化实现,利用了堆,这里使用C++中的优先级队列。利用STL内置的堆实现只是优化的第一步,更进一步的优化包括使用Fibonacci堆等更高级数据结构。算法中,使用邻接表作为存储图的数据结构,利用一个int数组d保存过程中及最后得到的最短路长度,再自定义一个pair...
分类:编程语言   时间:2014-09-09 19:58:49    阅读次数:285
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!