最短路与最小生成树
文章平均质量分 72
The_b-dn
这个作者很懒,什么都没留下…
展开
-
poj1860 解题报告
松弛操作的一点小小的改动....附有详细说明原创 2013-09-09 20:23:07 · 1652 阅读 · 2 评论 -
hdu1598--结题报告
题解:对于输入的边,我们首先按照速度从大到小排序,然后对于每一次询问,st end 两个城市,我们暴力枚举,for(int i = 0; i 上马://187MS 300K#include #include using namespace std;#define MAX 205#define INF 1<<30int N,M,Q;struct Edge{原创 2014-08-01 10:14:36 · 1259 阅读 · 0 评论 -
hdu2066一个人的旅行
枚举所有相邻城市,作为起点,多次spfa,然后每次在想去的城市中找出spfa后的距离起点最短的花费时间#include #include #include using namespace std;#define MAX 1005#define INF 1<<30int T,S,D;struct Edge{ int to,time,next;}edge[MAX*2原创 2014-07-30 11:04:38 · 1339 阅读 · 1 评论 -
hdu1690Bus System--解题报告
题意:有一个公交系统的收费标准如下表:然后问:给出 这些L1~4 & C1~4的值,然后 N个站,列出每个站的X坐标,然后询问M次,问两个站台的最小花费题解:那么这里很明显是最短路问题,有一点的麻烦就在于建图,那么我们可以对于所有的点,用两个for循环,算出两两之间的距离,就可以得到花费是多少,同时建边,然后对于每次询问的点,我们就spfa一次就OK#include #inclu原创 2014-07-30 13:01:22 · 1323 阅读 · 0 评论 -
hdu1217Arbitrage--解题报告
题意:套利,一个US币换取0.5 British pound,而1 British pound 换取10.0 French francs,同时 1 French franc buys 0.21 US dollar. 那么1 US dollar 可以换取 0.5 * 10.0 * 0.21 = 1.05 US dollars ,通过一系列换取得到1.05US币,那么就可以从中获取利润,问:给出一原创 2014-07-30 12:50:28 · 1314 阅读 · 0 评论 -
hdu3790解题报告
这里起点和终点都是确定的,唯一有点小麻烦(也算不上什么麻烦)就是这里的权值有两个,钱和路长,题目要求选择最短路,对于一样长度的路选择钱最少的路....那么我们每次就对路长松弛,对于路长一样的在对钱松弛....(不懂松弛操作的很抱歉)// AC 840k 109ms#include#includeusing namespace std;#define MAX 1001#define原创 2013-08-23 21:12:23 · 960 阅读 · 0 评论 -
hdu1869解题报告--六度分离
看到题目要求求证每两个人之间认识的人不超过6个,可以想到用floyd,这个算法就是求解每对顶点的最小距离上马,马上附说明:// 268k 46ms#include#define MAX 101int N,M;int map[MAX][MAX];//map[i][j]的值表示i和j通过多少个人联系在一起void init(){ int i,j; for(i=0;i<N;原创 2013-08-23 21:00:13 · 954 阅读 · 0 评论 -
hdu1125--附上多个最短路方法代码
最近学习最短路算法,发现这个题目基本上能用很多最短路方法解,于是贴出所有代码:spfa邻接矩阵、spfa--数组邻接表、dijikstra、floyd、bellman_fordspfa--邻接矩阵版// AC 176k 0ms#include#include#includeusing namespace std;#define MAX 10//想不通的是本来这里我用10 去调试原创 2013-08-23 21:21:27 · 1052 阅读 · 0 评论 -
poj3259解题报告
比较简答的回路判断我们把最后的几个是虫洞的单向路的W权值置为负数,其他的就是模板啦// AC 248k 141ms#include#includeusing namespace std;struct node{ int to,time,next;}edge[5202];int head[502];int tol;void add(int st,int end,int原创 2013-09-09 20:32:26 · 975 阅读 · 0 评论 -
hdu3790最短路径问题
这是一个最短路径的裸题,我们在边结构体中 添加成员路径和花费,然后在松弛操作的时候用这两个来松弛就OK// AC 840k 109ms#include#includeusing namespace std;#define MAX 1001#define IFN 1<<30-1struct node{ int to,len,cost,next;}edge[MAX*100原创 2014-08-18 19:38:52 · 1102 阅读 · 0 评论