最短路
文章平均质量分 68
ID_BePosit
如果今天不比昨天多做一点什么,那么明天还有什么意义。
展开
-
K - Candies (spfa+stack+拆分约束)
请问spfa+stack 和spfa+queue 是什么原理2014年03月19日 15:52:49阅读数:472一个是bfs加迭代一个是dfs加迭代请问迭代是什么就是不断地做,做到没有更优的解为止或者是不断得做,做到逼近答案为止。。栈比队列更快更节省空间有的时候有的图可能比较稀疏而且点数较多,邻接矩阵存不下,所以就要用到邻接表。邻接表用vector数组比较方...原创 2018-08-04 15:56:06 · 209 阅读 · 0 评论 -
Wormholes -floyd判断负环
注意判断重边就好 负环能够回去 #include<iostream>#include<cstring>using namespace std;#define inf 0x3f3f3f3f#define maxn 555int mmp[maxn][maxn];int x,y,z,t,n,w,m;bool floyd(){ for(int k=...原创 2018-09-20 14:53:07 · 1985 阅读 · 4 评论 -
MPI Maelstrom POJ - 1502
MPI Maelstrom POJ - 1502 注意aoti转字符为数字即可, #include<iostream>#include<cstring>#include<cmath>#include<cstdlib>using namespace std;#define maxn 115#define inf 0x...原创 2018-09-20 15:14:04 · 170 阅读 · 0 评论 -
Currency Exchange -spfa判断正环
Currency Exchange POJ - 1860 #include<iostream>#include<queue>#include<cstring>using namespace std;#define inf 0x3f3f3f3f#define maxn 151#define ll long longll n,m,s,a,b;...原创 2018-09-20 17:43:15 · 253 阅读 · 0 评论 -
Arbitrage- currency exchange-folyd正环
Arbitrage POJ - 2240 Arbitrage is the use of discrepancies in currency exchange rates to transform one unit of a currency into more than one unit of the same currency. #include<iostream...原创 2018-09-20 19:24:36 · 259 阅读 · 0 评论 -
Invitation Cards -向前星建图-堆优化dijkstra
Invitation Cards POJ - 1511 正反建图 跑两边最短路即可。 #include<stdio.h>#include<queue>#include<vector>#include<cstring>#include<iostream>using namespace std;#defi...原创 2018-09-21 16:35:48 · 279 阅读 · 0 评论 -
Subway -铁路-步行
Subway POJ - 2502 注意建边就好了 round四舍五入 地铁呢是不能从第一站蹦到除第二站外的站的,只能一站一站走。。。。 #include<iostream>#include<cstring>#include<cmath>#include<cstdlib>#include<vector>...原创 2018-09-21 17:57:06 · 273 阅读 · 0 评论 -
G - Tram -最小转换路向问题
注意输入 内容的含义 .Switch in the i-th intersection is initially pointing in the direction of the first intersection listed. (第i个十字路口的开关最初指向第一个十字路口的方向。) #include<iostream>#include<cstring>...原创 2018-09-22 09:25:03 · 187 阅读 · 0 评论 -
B - Por Costel and the Algorithm-最短路记录边
B - Por Costel and the Algorithm Gym - 100923B #include<stdio.h>#include<cstring>#include<queue>#include<cstdio>#include<vector>#include<bits/stdc++.h&...原创 2018-10-04 23:34:22 · 374 阅读 · 0 评论 -
A Walk Through the Forest -最短路+记忆化搜索
A Walk Through the Forest HDU - 1142 题意: 当一条路径A->B满足,存在一条从B出发的回到家方案比任何从A出发回到家的方案花费的时间都要短。 乐乐才会选择这条路。请计算乐乐回家的方案数。 乐乐的学校在1号点,家在2号点 思路: 跑一遍最短路从家为起点跑单源最短路求出所有点到家的最短距离才能在此基础上去进行搜索 满足题意的方案数路径...原创 2018-10-10 14:59:02 · 176 阅读 · 0 评论 -
Stockbroker Grapevine -最短路+dp
Stockbroker Grapevine POJ - 1125 题意:哪个证券经纪人作为流言传播的起点,以及这个流言传播完整个经纪人社群所需的时间。所需的时间指的是最后一个经纪人接受到消息所花费的时间。 思路:跑一边多源最短路,枚举每个点dp更新最小值即可,当时一直没想明白最后一个人收到消息的最短时间其实就是以这个人为起点到达其他所有点中的花费时间最长的一个值就是这个人发...原创 2018-10-10 15:04:26 · 158 阅读 · 0 评论 -
Two Paths HDU - 6181 -次短路-A*
Two Paths HDU - 6181 题意:很直接就是求次短路。 思路:简单谈一谈我所了解的A*,核心为估价函数 f=g+h,f为所求距离,g为从起点bfs到次的距离。 h为估计的从此处到终点的距离,说是估计不过是预处理而已,堆优化dijkstra,预处理出dis[]数组 里面存储的是每个点到终点n的距离。然后就是A*算法了,打一个变量记录第几次访问到终点 当访问终点次...原创 2018-11-02 16:22:23 · 192 阅读 · 0 评论 -
B - Destroying Roads CodeForces - 543B -道路破坏问题
B - Destroying Roads CodeForces - 543B 题意:给定s1,t1,l1,s2,t2,l2,问能够最多破坏多少条路仍然能够保证s1-t1<L1 ,s2-t2<L2 思路:为了让破坏的道路尽可能的多,那么留下的维护这两个关系的道路就得尽可能的小, 跑出所有任意两点的最短路,第一种情况,他们没有交点那么最终留下的维护关系的就是两条最短路径...原创 2018-11-07 11:48:06 · 221 阅读 · 0 评论 -
Remmarguts' Date-A-STAR
Remmarguts' Date POJ - 2449 题意:就是求第k短路但是有起点终点相等的情况 #include<algorithm>#include<iostream>#include<cstdlib>#include<cstring>#include<cstdio>#include<cma...原创 2018-09-11 08:51:09 · 245 阅读 · 0 评论 -
The Shortest Path in Nya Graph-虚点建图
The Shortest Path in Nya Graph HDU - 4725 给每个点两个辅助点,一个做出度,一个做入度,赋其与辅助点边权为0(因为原本就是一个点),而且这两个辅助点完全可以按照层数来排列。 #include<bits/stdc++.h>using namespace std;#define maxn 511111#define in...原创 2018-09-24 20:20:03 · 494 阅读 · 0 评论 -
F - Funny Car Racing -(SPFA-红绿灯路径)
注意避免重边。vector 存储。#include<bits/stdc++.h>using namespace std;#define maxn 50005#define inf 0x3f3f3f3fstruct node{ int v,w,a,b;} temp;vector<node>mmp[maxn];int dis[maxn],n,m...原创 2018-08-10 10:24:20 · 173 阅读 · 0 评论 -
HDU - 2680 -(超级源点 || 反向寻找)
#include<bits/stdc++.h>using namespace std;#define inf 0x3f3f3f3f#define maxn 21005int n,m,s,x,y,z,a,t[1005];vector<pair<int, int> >mmp[maxn];int dis[1005];bool vis[1005];...原创 2018-08-06 09:21:27 · 190 阅读 · 0 评论 -
B - Frogger (青蛙路径-SPFA)
B - Frogger 思路:复制一下别人的题意,有两只青蛙和若干块石头,现在已知这些东西的坐标,两只青蛙A坐标和青蛙B坐标是第一个和第二个坐标,现在A青蛙想要到B青蛙那里去,并且A青蛙可以借助任意石头的跳跃,而从A到B有若干通路,问从A到B的所有通路上的最大边,比如有 有两条通路 1(4)5 (3)2 代表1到5之间的边为4, 5到2之间的边为3,那么该条通路跳跃范围(两...原创 2018-07-27 20:49:29 · 1613 阅读 · 4 评论 -
I - I HDU - 2586 (SPFA)
I - I HDU - 2586 #include<bits/stdc++.h>using namespace std;#define maxn 40005vector <pair<int,int > >mmp[maxn];#define inf 0x3f3f3f3fint dis[maxn];bool vis[maxn];int n,...原创 2018-08-01 18:43:31 · 146 阅读 · 0 评论 -
H - Weekend (pick up friends-floyd)
H - Weekend Gym - 101020H 利用floyd求出多源最短路到各个点的最短路径, #include<bits/stdc++.h>using namespace std;#define inf 0x3f3f3f3f#define maxn 105int mmp[maxn][maxn];int fri[maxn];int t,n,m,f...原创 2018-08-02 17:42:27 · 345 阅读 · 0 评论 -
In Action-HDU - 最短路-01包
题意: Since 1945, when the first nuclear bomb was exploded by the Manhattan Project team in the US, the number of nuclear weapons have soared across the globe. 自从1945年曼哈顿计划小组在美国引爆了第一颗原子弹,世界核武器的数量已经飙升了...原创 2018-08-24 10:19:04 · 189 阅读 · 0 评论 -
一个人的旅行-SPFA-map-构点
W - 一个人的旅行 HDU - 2066 强行加上初始点结束点即可 #include<bits/stdc++.h>using namespace std;#define maxn 55555#define inf 0x3f3f3f3fvector<pair<int,int> >mp[maxn];int t,s,d,dis[...原创 2018-08-25 10:18:32 · 126 阅读 · 0 评论 -
飞行路线 HYSBZ-分层思想.
飞行路线 HYSBZ - 2763 #include<bits/stdc++.h>using namespace std;#define maxn 10555#define inf 0x3f3f3f3fint n,m,k,s,t,u,v,ans,w;int dis[maxn][12],vis[maxn][15];struct node{ in...原创 2018-09-04 14:52:23 · 320 阅读 · 0 评论 -
Revamping Trails -k层最短路
通过每条小径都需要消耗一定的时间.约翰打算升级其中K条小径,使之成为高 速公路.在高速公路上的通行几乎是瞬间完成的,所以高速公路的通行时间为0. 请帮助约翰决定对哪些小径进行升级,使他每天从1号牧场到第N号牧场所花的时间最短 #include<bits/stdc++.h>using namespace std;#define maxn 10555#define i...原创 2018-09-04 15:09:00 · 172 阅读 · 0 评论 -
C - 地铁 CSU - 维护边最短路
B - 星系碰撞 FZU - 2194 题意: 换乘线路很麻烦。如果乘坐第 i 段地铁来到地铁站 s,又乘坐第 j 段地铁离开地铁站 s,那么需要额外花费 |c i-c j | 分钟。注意,换乘只能在地铁站内进行。 Bobo 想知道从地铁站 1 到地铁站 n 所需要花费的最小时间 思路: 给边编号,dis记录以此边结束的路线的总时间进行最短路更新。 注意在建图过程中记录边的...原创 2018-09-11 14:33:01 · 223 阅读 · 0 评论 -
0 or 1 -SPFA求自环
0 or 1 HDU - 4370 转自:https://www.cnblogs.com/cmmdc/p/7819704.html 分析: 3个条件明显在刻画未知数之间的关系,从图论的角度思考问题,容易得到下面3个结论: 1.X12+X13+...X1n=1 于是1号节点的出度为1 2..X1n+X2n+...Xn-1n=1 于是n号节点的入度为1 3.∑Xki =∑Xi...原创 2018-09-24 09:23:56 · 303 阅读 · 0 评论 -
Layout -拆分约束+负环
Layout POJ - 3169 转自:https://blog.csdn.net/mengxiang000000/article/details/52613328 注意图是单向的 差分约束系统问题,能够将问题转化为最短路问题。以下给出转化过程: 假设有这样的三个条件: 那么我们可以将不等式1和不等式2相加得到: 那么如果想要得到x1和x3的最大差值,那么其实就是取min(k...原创 2018-09-24 09:59:02 · 319 阅读 · 0 评论 -
D - Destination Unknown Gym - 100625D -最短路
D - Destination Unknown Gym - 100625D 题意:n个点m条边,s为起点,给一些终点,每一步只能走最短路问有哪些从起点到终点的最短路经过g,h 思路:跑一边起点s的最短路,再分别跑一边以g,h为起点的最短路,然后判断是否存在从s-t[i]经过g,h的最短路 不能记录路径来判断是因为可能有多条最短路会把g,h覆盖。 #include<...原创 2018-11-17 12:01:31 · 250 阅读 · 0 评论