
最短路
三寸雪
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
POJ 3169 Layout【差分约束+spfa判负环】
POJ 3169 Layout 题目大意: 在一个一维坐标轴上排列各个点,使得每两个点直接满足给定的两种条件 某两点间的距离不大于某个值,以及某两点距离不小于某个值 具体思路: 差分约束,最短路求解 不懂差分约束的,可以参考这篇博客https://blog.youkuaiyun.com/whereisherofrom/article/details/78922648 差分约束的条件: 假设标号A<B ...原创 2020-02-13 00:59:43 · 434 阅读 · 0 评论 -
HDU 4370 0 or 1 【spfa求正环花费+矩阵思维转换】
HDU 4370 0 or 1 题目链接:vjudge传送门 题目大意: 其实理解了题目的深层意思,思路基本上就有了,就是把邻居矩阵和图相结合。 给定一个n维矩阵A,求一个n维矩阵B(矩阵元素为1或0),使得两个矩阵对应位置上的元素相乘的和最小。求和(Aij xBij),结果最小。 其中B矩阵需要满足以下三条: X12+X13+…X1n=1 //代表1号点出度为0 X1n+X2n+…Xn-1...原创 2020-02-12 17:52:53 · 576 阅读 · 3 评论 -
HDU 4725 The Shortest Path in Nya Graph 【dijkstra+堆+分层建图】
HDU 4725 The Shortest Path in Nya Graph 题目链接:vjudge传送门 题目大意: 给定n个点(编号1到n),以及每个点处于的层数(1到n),一个点有一条边通向上/下相邻层的所有点的边,权值为c,另外有额外m条边,记录n个点中任意两点之间带权的边,问从1点出发到n点的最短距离。 具体思路: 处于相邻层的不同层上的点都有一条权值为c的双向边,因此可以每两层中的各...原创 2020-02-12 15:20:25 · 620 阅读 · 0 评论 -
Light OJ 1074 Extended Traffic 【spfa+dfs标记负环及相连点】
Light OJ 1074 Extended Traffic 题目链接:vjudge传送门 题目大意: 有n个城市,每一个城市有一个拥挤度Ai,从一个城市I到另一个城市J的时间为:(Av−Au)3。问从第一个城市到达第k个城市所花的时间,如果不能到达,或者时间小于3输出?否则输出所花的时间。 具体思路: 因为有负权并且可能存在负环,故spfa求最短路并标记负环,假设存在一个负环,那么负环上的每个点...原创 2020-02-12 02:18:15 · 374 阅读 · 0 评论 -
POJ 1847 Tram 【最短路spfa 模板题】
POJ 1847 Tram 原题链接:vjudge传送门 题目大意: 给定n个路口,每个路口通向多条路,默认通向第一条路,若想通向该路口的任何一条路,需要拨动一次开关,问给定路口A,B,从A出发到B最少需要拨动多少次开关。 例: 3 2 1 三个路口,从2到1号路口最少要拨动多少次开关 2 2 3 1号路口,通向两条路,默认通向2号路口的路,还有通向3号路口的路(需拨动一次开关) 2 3 1 2号...原创 2020-02-11 21:31:45 · 539 阅读 · 1 评论 -
POJ 1062 昂贵的聘礼【最短路spfa+建图】
POJ 1062 昂贵的聘礼 题目链接:vjudge传送门 具体思路: 思路来源:https://xiaoxiaoh.blog.youkuaiyun.com/article/details/104198067 可以先抛开等级制度的限制,把问题抽象成求最短路的问题 把每个物品当成一个点(依次编号1-n),把探险家当成一个超级源点(编号为0),初始化这个超级源点到各个点的权值为得到它们所需要的金币,若物品A=物品...原创 2020-02-11 02:39:36 · 475 阅读 · 1 评论 -
POJ 2502 Subway【spfa模板+建图】
POJ 2502 Subway 题目链接: vjudge传送门 题目大意: 给定学校和家的坐标,以及若干条地铁线途经的地铁站坐标,步行速度以及地铁速度,问从家到学校所花最少时间 具体思路: 最短路的模板题,难的是建图 要建立,家、学校以及每个地铁站之间的步行时间,同一线路相邻地铁站之间的行驶时间,并记录各点的标号 具体代码: #include<iostream> #include<...原创 2020-02-09 19:01:43 · 515 阅读 · 0 评论 -
POJ 3159 Candies 【差分约束系统 dijkstra+heap/spfa+stack】
POJ 3159 Candies 题目链接:vjudge传送门 题目大意: 给n个人分糖果,m组数据a,b,c;意思是a比b少的糖果个数绝对不超过c个,也就是d(b)-d(a) < c,求1比n少的糖果数的最大值。 具体思路: 差分约束系统第一次接触,我也不太懂,见博客 据说spfa+queue会超时,看好多人都用spfa+stack优化【第一次知道能用stack优化,但是我仍不知两者的差别...原创 2020-02-09 16:15:43 · 474 阅读 · 1 评论 -
POJ 1511 Invitation Cards 【dijkstra + 堆优化】
POJ 1511 Invitation Cards 原题链接:vjudge传送门 题目大意: 求1号点到各个点的最短距离,以及各个点到1号点的最短距离,相加即可。题目保证是连通图 具体思路: 图中所有点到指定点的最短距离可以转化为求指定点到所有点的最短距离 因此用正反向存图+2次Dijkstra,数据量很大,用堆优化 随便说点: 做这道题我真的体会到链式前向星的好处, 一开始用vector前向星存...原创 2020-02-08 23:39:45 · 681 阅读 · 0 评论 -
POJ 2240 Arbitrage 【Floyd判正环+自环坑】
POJ 2240 Arbitrage 题目链接:vjudge传送门 题目大意: 给定货币种数及各自名称,及其给定某两种货币之间的转化比率(相乘即可) 问是否存在一种货币套现的方法,即有某种货币,经过货币之间的转换使得,其数额是原来的i倍,i>1 具体思路: 不得不说,这题真是垃圾题。坑人 先说一下思路,判断正环的问题,因为不是单一源点,所以不选择spfa,而选用用floyd判断正环 状态转移...原创 2020-02-08 15:01:07 · 503 阅读 · 1 评论 -
POJ 3660 Cow Contest【传递闭包 Floyd变形】
POJ 3660 Cow Contest 题目链接:vjudge传送门 题目大意: 给定n个数,并且给定m组任意两个数之间的关系,例如4个数,a>b,d>c,b>c, 若将四个数的大小排序,能确定排名的有几数 具体思路: 若一个数能确定有多少个数大于它,以及多少个数小于他,那么就可以确定该数的排名 因此可以建立正、反向图,求出每个数的出度和入度,最后相加判断总度是否为n-1,是则...原创 2020-02-08 01:36:28 · 462 阅读 · 1 评论 -
POJ 1502 MPI Maelstrom 【dijkstra模板题】
POJ 1502 MPI Maelstrom 原题链接:传送门 题目大意: 实验室有很多台计算机,计算机之间发送信息的速度不同,所以花费时间不同(正反向时间相同)。 消息从第一台电脑发送到第二台电脑后,这两台电脑能再向其他电脑发送消息 我们的计算机允许同时向连接到它的任意数量的其他计算机发送消息。 然而,消息有可能不能到达目的地,用字符x表示 从1号计算机出一个消息,至少要等多久全部的人才可以都收...原创 2020-02-07 19:55:58 · 712 阅读 · 0 评论 -
POJ 3259 Wormholes 【Floyd判断负环】
POJ 3259 Wormholes 【Floyd判断负环】 题目大意: FJ 有 N 块田野【编号 1…n】田野间有 M 条路【双向】 同时有 W 个虫洞,通过这个虫洞到达另一个田野,可以回到一段时间以前【单向】 问:FJ 是否能在田地中遇到以前的自己 具体思路: 双向路为正权,单向路为负权,判断图中是否存在负环,存在则可以遇到以前的自己,至于为什么上一篇博客有解释 可用spfa求解,但是spf...原创 2020-02-07 18:29:46 · 1067 阅读 · 0 评论 -
POJ 1860 Currency Exchange 【spfa判断正环】
POJ 1860 Currency Exchange 【spfa判断正环】 原题链接:传送门 题目大意: 给出几种货币以及它们正向反向兑换的汇率和手续费, 求给定一种货币以及金额,问能否经过若干次货币兑换后回到原给定的货币种类, 若能实现金额数增加则输入YES,否则输出NO 具体思路: 最短路变形,spfa求解,若换到某种货币金额数大于该种货币原有金额则更新,若发现某条边更新了超过n次,说明存在正...原创 2020-02-07 13:48:25 · 538 阅读 · 0 评论 -
POJ 2387 Til the Cows Come Home【dijkstra模板题】
POJ 2387 Til the Cows Come Home 题目大意: 无向图中,从点n到点1的最短路径 具体思路: dijkstra,考虑重边 注意下标减1,建议下次还是不使用0号,便于理解 具体代码: #include<iostream> #include<cstdio> #include<stdlib.h> #include<string>...原创 2020-02-06 19:53:58 · 840 阅读 · 0 评论 -
POJ 3268 Silver Cow Party 【反向dijkstra】
POJ 3268 Silver Cow Party 题目大意: 每个农场有一只奶牛,所有奶牛都要去指定的一个农场X中聚会,聚会结束后各自回自己的农场, 求所有的奶牛出门参加聚会再回到家中的最短用时,即求出耗时最长的奶牛的时间 具体思路: 最短路求解,先求x到各个农场的时间,再将各边反向,再求一次x到各个农场的时间。 将两个时间相加,最小的时间即为所求 (求图中所有点到指定点的最短距离可以转化为求指...原创 2020-02-06 19:43:41 · 755 阅读 · 0 评论 -
POJ 1797 Heavy Transportation【改写最短路】
POJ 1797 Heavy Transportation 题目大意: 存在图中1到n号点的路径,求多条路径中最小权值最大的一条,输出最大的最小权值 具体思路: 改写最短路解法或者最大生成树(把权值变为负数,直接用最小生成树算法,结果取绝对值) 详细思路可见这篇博客POJ2253,它是求最小的最大权值。 下方代码为改写最短路 具体代码: #include<iostream> #incl...原创 2020-02-06 16:55:41 · 803 阅读 · 0 评论