随笔分类 -  最短路

摘要:题意: 题目撰写者的英语真是艰难晦涩,看了别人题解,才知道这题题意。 两个forger 一个froger 要蹦到另外一个froger处,他们的最短距离是这样定义的 : The frog distance (humans also call it minimax distance) between two stones therefore is defined ... 阅读全文
posted @ 2014-08-26 16:48 姜楠 阅读(730) 评论(0) 推荐(0)
摘要:题意:给定一个有向图,求从源点到其他各点的往返最短路径和。且这个图有一个性质:任何一个环都会经过源点。图中的节点个数范围:0~100w;分析: 我们先可以利用Dijkstra算法求解从源点到其余各点的最短距离,这样工作就完成了一半了。那么如何求解从各点到源点的最短路呢? 1. 我们可以循环n-1次,... 阅读全文
posted @ 2014-08-25 19:51 姜楠 阅读(1081) 评论(0) 推荐(1)
摘要:题意: 有N个点,给出从a点到b点的距离,当然a和b是互相可以抵达的,问从1到n的最短距离 分析: 典型的模板题,但是一定要注意有重边,因此需要对输入数据加以判断,保存较短的边,这样才能正确使用模板。 题解 #include #include #include #include #include using namespace std; #define maxn 2001 #define... 阅读全文
posted @ 2014-08-25 11:05 姜楠 阅读(495) 评论(0) 推荐(0)
摘要:题意:给出一些货币和货币之间的兑换比率,问是否可以使某种货币经过一些列兑换之后,货币值增加。举例说就是1美元经过一些兑换之后,超过1美元。可以输出Yes,否则输出No。分析:首先我们要把货币之间的关系转化成一张图。转化时,用STL里面的map很方便。为每种货币分配一个序列号,一个序列号代表了一个图中... 阅读全文
posted @ 2014-08-24 15:38 姜楠 阅读(228) 评论(0) 推荐(0)
摘要:先附上Djikstra的代码:普通版const int maxn=101;const int INF=0x3f3f3f3f;int edges[maxn][maxn];int dist[maxn];void dijkstra(int s,int n){ bool done[maxn]; memset... 阅读全文
posted @ 2014-04-07 22:36 姜楠 阅读(485) 评论(0) 推荐(0)
摘要:最短路Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 18542 Accepted Submission(s): 7897 Proble... 阅读全文
posted @ 2013-04-04 00:28 姜楠 阅读(160) 评论(0) 推荐(0)
摘要:畅通工程续Time Limit: 3000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 17034Accepted Submission(s): 5832Problem Desc... 阅读全文
posted @ 2013-04-03 23:58 姜楠 阅读(294) 评论(0) 推荐(0)
摘要:正如我们所知道的,Floyd算法用于求最短路径。Floyd算法可以说是Warshall算法的扩展,三个for循环就可以解决问题,所以它的时间复杂度为O(n^3)。Floyd算法的基本思想如下: 从任意节点A到任意节点B的最短路径不外乎2种可能,1是直接从A到B,2是从A经过若干个节点X到B。所以,我... 阅读全文
posted @ 2013-01-26 16:32 姜楠 阅读(448) 评论(0) 推荐(0)