虽然不是最短路,但是询问时任意两点之间的信息都要知道才能回答,由此联想到floyd算法,只要都floyd算法的原理理解清楚了就会发现:这道题的思想和求任意两点之间的最短路的一样的,只不过是更新的信息不同而已。这道题还有一个难点在于状态压缩:如果直接用字符串来表示maps[i][j],那么在floyd...
分类:
编程语言 时间:
2014-11-17 06:48:43
阅读次数:
174
题目链接:点击打开链接
题意:
给定n*m的矩阵:
F:起点(有且仅有一个)
D:坏点(不能走到这个点)
G:能量池(走到这个点可以选择使用这个点的能量池,把电池充满,也可以暂时不用,只能使用一次)
Y:目标点
问:
遍历所有Y点需要最小的电池容量是多少。
开始电池满电,每走一步消耗一格电。
Y+G的个数
思路:状压YG,前面几位表示Y,后面几位表示G。
先跑个floyd,...
分类:
其他好文 时间:
2014-11-14 19:48:25
阅读次数:
278
列举了深度优先搜索的递归和非递归算法,Dijkstra最短路径算法,
基于Bellman-Fort最短路径算法的改进型广度优先搜索算法,
Floyd-Warshall最短路径算法的原始版和变化版
本文是阅读《啊哈!算法》后的学习笔记,代码与教材中有些差异,若有错误请指正,谢谢!...
分类:
编程语言 时间:
2014-11-13 22:31:20
阅读次数:
277
一:说明
(1)使用floyd实现各个站点的计算记录和路径
(2)站点获取和初始距离根据外部文件得到
(3)结果以外部文件的形式存储
(4)站点间转乘,认为初始值也为1
(5)代码注释比较详细,如有疑问或者代码有,请联系我,谢谢
(6)java中二维数据的定义:
a: float[][] numthree; //定义一个float类型的2维数组
...
分类:
编程语言 时间:
2014-11-13 12:58:05
阅读次数:
209
POJ 3311 Hie with the Pie(状压DP + Floyd)...
分类:
其他好文 时间:
2014-11-10 19:57:14
阅读次数:
267
from wiki: 图算法 基本遍历 深度优先搜索 · 广度优先搜索 · A* · Flood fill 最短路径 Dijkstra · Bellman-Ford · Floyd-Warshall · Kneser图 最小生成树 Prim · Kruskal 强连通分量 Kosaraju算法 · ...
分类:
编程语言 时间:
2014-11-10 06:24:58
阅读次数:
253
题目大概意思:输入n,m,n代表n个点,接着输入n个点之间的距离(n*n的矩阵),接下来m次询问,输入a,b,c如果a,b之间的最短路径中存在c点则输出Yes,否则输出No
比赛的时候没有做出来,赛后帆哥一点播就知道了。。。。我写的时候直接用floy算法求距离并记录路径。。然后TLE到死。。。我就奇怪了数据n,m都小于100,怎么会TLE啊。。。坑爹啊。。。我一直怀疑是不是用别的算法。。。。。帆...
分类:
编程语言 时间:
2014-11-09 22:22:59
阅读次数:
224
题目链接
题意:在一个有向图上,至少放多少个机器人可以遍历整个图(每个顶点可以重复遍历)?
思路:最小路径覆盖的变形,因为点可以重复遍历,所以要用floyd重新建图,然后用最小路径覆盖去做。
代码:
#include
#include
#include
#include
#include
using namespace std;
const int M...
分类:
其他好文 时间:
2014-11-08 18:15:57
阅读次数:
150
题意
从0出发送汉堡,送完每个点后回到0点
矩阵 表示各个点间距离。
思路
因为可以各个点多次经过,所以先求下floyd 来更新点点之间最短距离。
把每一步,到各个点的状态和最后一步所在的位置还有所花的距离保存下来。
把最后到的各个地方,再加个回零点的距离。求个最小值。
dp[15][15] 一维表示已经走的步数,二维表示当前最后一步到的点。 map的x表示状态,y表示已经花费的时间。...
分类:
其他好文 时间:
2014-11-08 10:31:13
阅读次数:
155
最短路径问题是图论研究中的一个经典算法问题, 旨在寻找图(由结点和路径组成的)中两结点之间的最短路径。 算法具体的形式包括:...
分类:
其他好文 时间:
2014-11-07 11:23:42
阅读次数:
233