最短路
浪子小黄人
这个作者很懒,什么都没留下…
展开
-
poj 1135 Domino Effect 最短路
Domino EffectTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 8711 Accepted: 2180DescriptionDid you know that you can use domino bones for other things b原创 2014-08-10 21:10:38 · 790 阅读 · 0 评论 -
In Touch (hdu 5361 优先队列的Dij + 并查集优化)
题意:有n个点站成一排,相邻距离为1,每个点 i 可以联系上距离自己 x 的点并且花费Ci,其中Li<=x<=Ri,从点1开始,求联系到每个点的最少费用。思路:边太多,不可能建完边后再求最短路,感觉有点像隐式图,然后就是巧妙用到Dijstra,需要注意到的就是,这里是每个点有权值而不是边,那么dist[i]表示从1到 i 的花费再加上点 i 的花费,这样每个点就只会被更新一次,更新后在以后就不会再次被更新了,这里用到并查集把已经更新的点得father指向还没被更新的点。原创 2015-08-09 15:27:42 · 924 阅读 · 0 评论 -
E. President and Roads (CF Round #Pi (Div. 2)) 优先队列的Dij+Tarjan找桥
题意:n个点m条有向边,总统从起点s到终点t走最短路,问哪些边是一定会走的(输出YES),哪些边通过减少距离可以使它一定被经过(输出减少的距离),否则输出NO。思路:正反两遍求最短路,然后根据dist把那些最短路上的边重新建图,注意是无向图,然后用Tarjan求割边,最后每条边判断输出。居然卡SPFA,改成Dij就过了,以后就用Dij吧,恩。。原创 2015-08-11 10:20:45 · 814 阅读 · 0 评论 -
Columbus’s bargain (hdu 3268 最短路)
题意:n个物品,每个物品价值为pi,可以用一个玻璃珠和pi-1个金币换的,也可以由其他便宜的物品加上一定量的金币换得,相同价格的物品可以互换。问每个物品通过这样交换若干次后最少要花的金币数是多少。并且有多少物品的actual price等于其他两个物品actual price之和,注意每个物品如果有多个组合形式也只算作一种。原创 2015-08-25 22:51:59 · 742 阅读 · 0 评论 -
Instrction Arrangement (hdu 4109 差分约束)
题意:安排n个任务在CPU上工作,告诉m个限制,u,v,z表示v必须在u指令之后执行,并且u和v之间要间隔z秒,问把所有的任务完成最少时间为多少。思路:差分约束系统,由题意:dist[v]-dist[u]>=z,变形得:dist[u]<=dist[v]-z,根据这个建图v->u权为-z,源点到i权为0,i到汇点权为-1,然后求最短路,答案为 -dist[n+1].原创 2015-08-25 23:17:12 · 1056 阅读 · 0 评论 -
Rings'n'Ropes (Uva 10985 floyd+枚举)
题意:n个环m条绳子,问挑两个环拉直后最多有多少条绳子绷直。主要思想就是暴力枚举。原创 2015-08-01 11:01:11 · 415 阅读 · 0 评论 -
Numbering Paths (Uva 125 floyd+dp思想)
题意:给出一张图,求每两个点之间的不同路径的条数,按照矩阵输出,若i到j有无数条则mp[i][j]=-1.思路:关键是怎样判断无数条,考虑:若一个点经过一条路可以回来,即mp[i][i]>0,那么它就构成了一个环,我可以在这一无限的绕圈,知道这个了就好办了。另外一条路径经过这个点的话也是无数条。原创 2015-08-04 21:27:47 · 551 阅读 · 0 评论 -
Arbitrage (Uva 104 dp+floyd)
这一题不是很会,参考了别人的,以后多来看看。参考:http://www.cnblogs.com/scau20110726/archive/2012/12/26/2834674.html写的很好。原创 2015-08-04 21:32:11 · 442 阅读 · 0 评论 -
light oj 1379 - Toll Management(两次最短路)
题意:n个点m条边,求s到t长度不超过p的最短路中最长边的最小值。思路:分别从源和汇做两次Dij,最后判断一下求最大值。原创 2015-09-29 23:28:20 · 742 阅读 · 0 评论 -
light oj 1281 - New Traffic System (最短路+dp思想)
题意:n个点,m条旧有向边,k条新有向边,现在求0到n-1的最短路,且最短路径上用到的新边数量不超过d。思路:dis数组开二维,dis[i][j]表示到节点j用i条新边的最短路。原创 2015-09-29 22:14:46 · 509 阅读 · 0 评论 -
Lift Hopping (Uva 10801 最短路)
题意:n个电梯,100层楼,告诉每个电梯的速度和每个电梯会停的楼层数,起点在0层,终点是第k层,另外每次换乘需要等待60秒,问从0到k的最短时间是多少。思路:这题就是读入比较蛋疼,然后根据输入建完图后跑一下Dijkstra。在更新时加入60秒。原创 2015-07-28 21:28:46 · 484 阅读 · 0 评论 -
Pilot Work Experience (URAL 1888 并查集+floyd)
题意: 有n个航班,p个飞行员,每个航班要两个机长一起飞,一个机长一个副机长,现在每个机长的有一个经验值,并且正机长比副机长的经验值大1,现在不知道每个机长的经验值,只知道每个航班是那两个机长飞的,要求给每个机长规定一个经验值,并且尽量要最小值与最大值之差最大,输出任意一组解,若不存在解输出-1.思路:在训练赛过程中我的思路是最短路,如果存在可行解并且图是联通的,那么差值的最大值为最短路中的最大值,这个就很好处理了,求一遍floyd再求出mp[i][j]的最大值并记录下起点和终点,起点处的经验值为1,那其原创 2015-08-08 20:40:24 · 1036 阅读 · 0 评论 -
It's not a Bug, It's a Feature! (poj 1482 最短路SPFA+隐式图+位运算)
这个题拿到手并不会做,没有好的思路,然后就看了网上的题解,第一次碰到不建图也能SPFA的,又学习了。另外这一题的位运算处理也很巧妙,这是我不熟悉的,先放在这里,以后多来看几遍。参考这两篇博客,写的很好:http://www.cnblogs.com/scau20110726/archive/2012/12/16/2820739.htmlhttp://www.cnblogs.com/staginner/archive/2011/10/25/2223489.html原创 2015-07-28 08:45:20 · 998 阅读 · 0 评论 -
昂贵的聘礼 poj 1062 Dijkstra
中文题,题意就不多说了,讲讲思路吧,先根据题意构图,与普通最短路不同的是这一题加了一个Rank,每个点都有一个Rank,题目要求最短路径上的点的Rank的最大差值在M范围内,Dijkstra判断条件时加上Rank约束就行了。我没有添加汇点直接写的,另贴上别人添加汇点的写法。我的代码:#include #include #include #include #include #i原创 2014-09-21 09:51:20 · 1137 阅读 · 0 评论 -
poj 3268 Silver Cow Party
Silver Cow PartyTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 12776 Accepted: 5705DescriptionOne cow from each of N farms (1 ≤ N ≤ 1000) conveniently原创 2014-08-16 20:11:03 · 879 阅读 · 1 评论 -
poj 1511&&zoj 2008 Invitation Cards 最短路+SPFA
Invitation CardsTime Limit: 8000MS Memory Limit: 262144KTotal Submissions: 19250 Accepted: 6322DescriptionIn the age of television, not many people attend theater原创 2014-08-17 16:46:24 · 1079 阅读 · 1 评论 -
Frogger poj 2253 floyd
题意:给N个点的坐标,起点为1,终点为2,求从起点到终点所有路径中每条路径上最大步长的最小值。思路:fioyd变形。原创 2014-10-13 23:05:17 · 953 阅读 · 0 评论 -
find the longest of the shortest (hdu 1595 SPFA+枚举)
先求整个的最短路,并记录下最短路经,再分别枚举删除最短路经上的每一条边,并再次求最短路,答案即最长的那条最短路。原创 2014-11-04 14:31:18 · 1202 阅读 · 0 评论 -
Stockbroker Grapevine (poj 1125 floyd + 枚举)
题意:在一个有向图中选一个起点,能从这个起点到达所有其他点,还要保证起点到其他点距离中的最大值最小。思路:先用floyd求出所有两点之间的距离,然后枚举起点,看以这个为起点能不能到达所有点且最大值最小。原创 2014-10-20 15:22:14 · 1007 阅读 · 0 评论 -
Six Degrees of Cowvin Bacon (poj 2139 最短路Floyd)
题意:英语太差,读题就读了半小时快哭了 n头牛,m行关系,每一行先输入头数num,紧接着num头牛,这num头牛两两之间距离为1,最后问哪一头牛到其他所有牛距离的平均值最小,ans=到其他所有牛的最短距离之和*100/(n-1)。原创 2015-03-22 09:31:42 · 1318 阅读 · 0 评论 -
Wormholes (poj 3259 SPFA || Bellman_Ford 判负环)
题意:John的农场里field块地,path条路连接两块地,hole个虫洞,虫洞是一条单向路,不但会把你传送到目的地,而且时间会倒退Ts。我们的任务是知道会不会在从某块地出发后又回来,看到了离开之前的自己。很久之前做的最短路,今天又写了一遍,复习了一下SPFA和Bellma_Ford,判断负权值回路。原创 2015-03-22 10:53:23 · 2027 阅读 · 0 评论 -
E. Paths and Trees (CF 303 div2)最短路
题意:给定一个无向图和一个点u,找出若干条边组成一个子图,要求这个子图中u到其他个点的最短距离与在原图中的相等,并且要求子图所有边的权重之和最小,求出最小值并输出子图的边号。思路:先求一遍最短路,从所有到i点的满足最短路的边中选一条权最小的边。原创 2015-05-23 19:26:11 · 1168 阅读 · 0 评论 -
light oj 1254 - Prison Break (Dijkstra 汽车加油行驶最优问题 最短路)
题意:n个点m条边的有向图,q次询问c,s,t,表示汽车邮箱容量为c,求从起点s到终点t的最小费用。汽车在每个点可以加任意的油,每个点的油价为a[i]。思路:优先队列的Dij,每个节点保存还剩下的油量fuel和到当前为止所用的花费,dis[i][j]表示在i点油量还剩下j的费用最小值。注意,每次入队列不要一次性把所有符合的油量全部入队列,比如u->v,距离为w,那么油量区间w~c之间的油量都是可以满足从u走到v的,但不要一次性把w~c全部入队列,这样会超时:应该这样:对于队列中的每个点u先看它当前的油量能原创 2015-10-01 23:20:57 · 1165 阅读 · 0 评论