随笔分类 -  算法竞赛-最短路

摘要:蚁群算法与TSP 阅读全文
posted @ 2019-12-24 23:17 声声醉如兰 阅读(901) 评论(0) 推荐(0)
摘要:若A=K*B,若仅通过操作二:将B变换为A需要K步, 由算数基本定理可知:k=p1*p2*……pn(p为素数,且可能重复) 那么:将B转化为p1*B需要p1步,将p1*B转化为p1*p2*B需要p2步,以此类推,将B转化为A需要(p1+p2+....pn)步 因为(p1*p2*p3...*pn) < 阅读全文
posted @ 2018-01-27 10:09 声声醉如兰 阅读(142) 评论(0) 推荐(0)
摘要:题意:/*你是某个岛国(ACM-ICPC Japan)上的一个苦逼程序员,你有一个当邮递员的好基友利腾桑遇到麻烦了:全岛有一些镇子通过水路和旱路相连,走水路必须要用船,在X处下船了船就停在X处。而且岛上只有一条船,下次想走水路还是得回到X处才行;两个镇子之间可能有两条以上的水路或旱路;邮递员必须按照 阅读全文
posted @ 2017-08-05 00:55 声声醉如兰 阅读(221) 评论(0) 推荐(0)
摘要:题目:给出若干个建筑之间的一些路,每条路都有对应的长度和需要的花费,问在保证源点1到其他个点的距离最短的情况下,最少的花费是多少/ 思路:和一般的最短路问题相比,多了一个 数组id【i】,用来记录到达i点在距离最短的情况下是由那条边到达的。 #include<iostream> #include<c 阅读全文
posted @ 2017-07-31 23:43 声声醉如兰 阅读(454) 评论(0) 推荐(1)
摘要:题目大意:n个点m条边的有向图,q次询问c,s,t,表示汽车邮箱容量为c,求从起点s到终点t的最小费用。汽车在每个点可以加任意的油,每个点的单位油价为a[i]。 题目思路:利用最小费优先队列优化最短路,dist[u][use]代表到达u节点,剩余use单位汽油的花费值。 #include<stdio 阅读全文
posted @ 2017-04-26 10:32 声声醉如兰 阅读(288) 评论(0) 推荐(0)
摘要:题目大意:有向图,新计划的地铁,有k个计划新路,利用现有的铁路、k条新路和限定只能用d条新路,找出从0到n-1的最短路径 题目思路:用dist[u][use],储存使用use条新路,到达节点u的最短路径。 #include<stdio.h> #include<string.h> #include<s 阅读全文
posted @ 2017-04-25 10:50 声声醉如兰 阅读(197) 评论(0) 推荐(0)
摘要:次短路算法 阅读全文
posted @ 2017-04-24 14:47 声声醉如兰 阅读(173) 评论(0) 推荐(0)
摘要:题目大意:给出n个点,两点间的常规路为双向路,路长为两点之间的差的绝对值,第二行为捷径,捷径为单向路(第i个点到ai点),距离为1。问1到各个点之间的最短距离。 题目思路:SPFA求最短路 #include<iostream> #include<algorithm> #include<cstring 阅读全文
posted @ 2016-10-25 15:57 声声醉如兰 阅读(209) 评论(0) 推荐(0)
摘要:题意:学生从A站到B站花费C元,将学生每天从‘1’号站送往其它所有站,再从所有站接回到‘1’号站,问着个过程最小花费是多少。 思路:因为数据很大所以要用SPFA,因为不仅要从1点连接各个点还要从各个点返回一点,所以需要正邻接表和逆邻接表。然后正反各跑一次SPFA,值得注意的是因为数据很大,要将INF 阅读全文
posted @ 2016-07-14 21:37 声声醉如兰 阅读(209) 评论(0) 推荐(0)
摘要:根据图解和一组数据简单解释如何在建立正邻接表和逆邻接表 阅读全文
posted @ 2016-07-14 21:29 声声醉如兰 阅读(609) 评论(0) 推荐(0)
摘要:思路:建立一个以0为源点的地图,那么Map[0][n]的值代表 第n号物品的价值,Map[i][j]代表用 j 替代 i 后,物品j的价值。我们认为酋长的承诺为节点 ‘1’ ,则我们需要做的就是通过一系列操作求出Map[0][1]的最小值,这时可以看出 这是一个最短路问题。题目还规定了,等级高的不会同意与等级低的交换,等级低的亦不会和高于自身m个级别的人交换,所以我们先来个简单的预处理:通过枚举1~N所有点作为最小等级,然后标记出所有非法点。 阅读全文
posted @ 2016-07-13 22:09 声声醉如兰 阅读(205) 评论(0) 推荐(0)
摘要:和POJ1860差不多,就是用bellmanford判读是否存在正环,注意的是同种货币之间也可以交换,就是说:A货币换A货币汇率是2的情况也是存在的。 阅读全文
posted @ 2016-07-13 11:07 声声醉如兰 阅读(220) 评论(0) 推荐(0)
摘要:题意难度是POJ的标配,这都TM赖本泽马。 阅读全文
posted @ 2016-07-13 09:49 声声醉如兰 阅读(152) 评论(0) 推荐(0)
摘要:最短路模板。 阅读全文
posted @ 2016-07-13 08:44 声声醉如兰 阅读(184) 评论(0) 推荐(0)
摘要:英语太渣读了半天,理解了题意就好办了……Bellman_ford算法。在n-1次松弛后,如果依然存在满足松弛的情况返回1.说简单点就是判读是否存在正环。 阅读全文
posted @ 2016-07-12 23:04 声声醉如兰 阅读(134) 评论(0) 推荐(0)
摘要:迪杰斯特拉,算法,题意理解了就好了:N个农场的牛去 K 农场打牌,打完牌再从K农场回到各自的农场,问一来一回过程中走路最长的牛(牛选择最短路走)。然后一个正的最短路,一个反的最短路 就ok了。 阅读全文
posted @ 2016-07-12 21:10 声声醉如兰 阅读(193) 评论(0) 推荐(0)
摘要:和POJ 2253 恰好相反。这个是求1-n的路中最小的边。也可以用 迪杰斯特拉 弗洛伊德 和spfa 三种方法写。注意一下 初始化将dist初始化为极大值,其他没什么了。贴个spfa的 阅读全文
posted @ 2016-07-12 17:29 声声醉如兰 阅读(160) 评论(0) 推荐(0)
摘要:题意比较难搞懂。实际上就是求到‘2’点的 最小的最大值。说明白点就是:从‘1’到‘2’有多条路,每一条路中肯定有一条最大的边,求的是所有路中最大边最小的那个值。 可以用dij或者spfa搞,松弛操作都一样的。也可以用弗洛伊德,都差不多。下面只贴前两个 spfa: 阅读全文
posted @ 2016-07-12 16:46 声声醉如兰 阅读(152) 评论(0) 推荐(0)
摘要:最短路模板 阅读全文
posted @ 2016-07-12 16:36 声声醉如兰 阅读(308) 评论(0) 推荐(0)