链接:http://poj.org/problem?id=2253
题意:一个青蛙在一块石头上,看到了另一个青蛙在另一块石头上,它想跳过去找它,如果距离太远它就需要借助别的石头当跳板,两块石头之间的青蛙距离被定义成两块石头之间所有路径中最大跳跃距离的最小值,求两个青蛙之间的青蛙距离。
poj2263和它类似,链接:http://poj.org/problem?id=2263
解题报告...
分类:
其他好文 时间:
2014-08-01 16:03:11
阅读次数:
287
题意:一些牛要去某一点参加聚会,然后再回到自己家,路是单向的,问花费时间最多的那头牛最少需要花费多长时间。
思路:从聚会地点返回,相当于是从某一点到其他各个点的最短路径。从牛的家中走到聚会地点,可以把路径反过来变成从聚会地点到各个点的最短路径,两个最短路径值加起来就是每头牛所花费的最小时间,找出最大的即可。
我用了两个邻接表存路径,其实这道题用邻接矩阵存更好做,矩阵横纵坐标翻转就把路径...
分类:
其他好文 时间:
2014-08-01 00:03:40
阅读次数:
269
题意:有n个点,之间有m条双向路径,还有w个虫洞,单向,从一点到另一点需要花费时间,但是有虫洞的话会减少时间,一个人想要走某一条路使得他能碰到过去的自己,问这个图是否能让他实现他的想法。
其实就是判一个图是否存在负权值回路,SPFA可以实现,原理是:如果存在负权值回路,那么从源点到某个顶点的距离就可以无限缩短,因此就会无限入队,所以在SPFA中统计每个顶点的入队次数,如果超过了n个(顶点...
分类:
其他好文 时间:
2014-07-31 23:58:30
阅读次数:
397
题目链接:http://code.bupt.edu.cn/problem/p/454/
454. 帮帮小叮当
时间限制
5000 ms 内存限制 65536 KB
题目描述
小叮当刚刚学会了传送门的使用方法,可是它不小心跌落到二维空间一个 n * m 的矩阵格子世界的入口(1,1)处,
他得知出口在(n,m)处,每穿越一个格子门,它的体力值会下降。
又饿又累...
分类:
其他好文 时间:
2014-07-31 09:56:36
阅读次数:
366
LayoutTime Limit:1000MSMemory Limit:65536KTotal Submissions:6832Accepted:3292DescriptionLike everyone else, cows like to stand close to their friends ...
分类:
其他好文 时间:
2014-07-30 23:50:55
阅读次数:
317
好久不写spfa了 但在纸上写写 还是可以敲出来 它的思想还是还是很简单 这里就不介绍了 掌握spfa真的很好 除非题目的数据故意卡spfa...那就只能用dij去做了或者floyd这题 相比一般我们去求 最短路 有稍许不同 但是你只要明白了spfa的思想 就是进行下转换就可以了又是打印路径 好多题...
分类:
其他好文 时间:
2014-07-30 17:15:04
阅读次数:
220
题意:有一个公交系统的收费标准如下表:
然后问:给出 这些L1~4 & C1~4的值,然后 N个站,列出每个站的X坐标,然后询问M次,问两个站台的最小花费
题解:那么这里很明显是最短路问题,有一点的麻烦就在于建图,那么我们可以对于所有的点,用两个for循环,算出两两之间的距离,就可以得到花费是多少,同时建边,然后对于每次询问的点,我们就spfa一次就OK
#include
#inclu...
分类:
其他好文 时间:
2014-07-30 14:52:33
阅读次数:
262
枚举所有相邻城市,作为起点,多次spfa,然后每次在想去的城市中找出spfa后的距离起点最短的花费时间
#include
#include
#include
using namespace std;
#define MAX 1005
#define INF 1<<30
int T,S,D;
struct Edge{
int to,time,next;
}edge[MAX*2...
分类:
其他好文 时间:
2014-07-30 12:19:03
阅读次数:
215
抠了一天的最短路问题,那个spfa还真是难写,只能照着模板打一遍,还有那个松弛操作有点明白怎么回事,但还是不太清晰,容我再抠抠,然后再用dijksta算法敲一遍这道题吧!#include#include#include#includeint n,m;const int inf = 0x3f3f3f3...
分类:
其他好文 时间:
2014-07-29 17:06:42
阅读次数:
160
原来这个代码超时
#include
#include
#include
using namespace std;
#define N 200
#define inf 0x3fffffff
int cap[N][N];
int fee[N][N];
int s,t,sum,pre[N];
int spfa() {
queueq;
int dis[N],visit[N],u,i;
memset(p...
分类:
其他好文 时间:
2014-07-29 13:03:47
阅读次数:
317