最短路
文章平均质量分 76
陌离将离
这个作者很懒,什么都没留下…
展开
-
poj - 3159 简单差分约束+栈实现spfa
题意:给n个人派糖果,给出m组数据,每组数据包含A,B,c 三个数,意思是A的糖果数比B少的个数不多于c,即B的糖果数 - A的糖果数<= c 。最后求n 比 1 最多多多少糖果。明确的差分约束。。。。。。有坑用queue实现spfa会超时,改成stack就过了。。。。。。链接:poj 3159#include <iostream>#include <algorithm...原创 2018-04-15 17:37:28 · 247 阅读 · 0 评论 -
hdu - 6026 spfa + 遍历求关键路径数
题意:给出一个图,要求删除一些边,然后使得删除后的图是一颗树,并且各个点到0点的距离为原来图中的最短距离,求有多少种删法最短路求出根到每个点的距离,然后遍历每一个点,找到满足最短路的关键路径数:d[i] + cost[i][j] == d[j] 将所有这些值相乘即可得到。链接:hdu 6026#include<iostream>#include<cstdio>#incl...原创 2018-04-18 18:36:14 · 242 阅读 · 0 评论 -
poj - 1860&&poj - 2240 spfa 变形 最长路(判环)
题意:N种货币,M条命令,现有货币种类s,数量V,接下来每条命令包含a, b货币 、a到b的汇率、a到b的税、b到a的汇率、b到a的税,换算公式为(数量 - 税)* 汇率 问交换后最后s的数量会不会增加。spfa变形 最长路 或 判环 松弛过程改变链接:poj 1860#include <iostream>#include <algorithm>#include ...原创 2018-04-13 14:37:15 · 181 阅读 · 0 评论 -
poj - 3259 spfa + 多源点 + 判负环
题意:FJ有F个农场,每个农场有N块田,N条路,W个虫洞。 每条路表示a, b 之间有一条路耗时c,每个虫洞表示从a到b走会回到c时间之前。 问FJ是否能找到一条路回到他的出发点时间之前见到自己,出发点可任选。虫洞实际上就是从a到b有一条耗时为-c的路,问的就是有没有花费时间为负数的环路即用spfa找负环,不过起点未定要遍历虫洞的终点或起点去跑spfa另外可...原创 2018-04-13 15:26:47 · 284 阅读 · 0 评论 -
poj - 1502 spfa最短路模板题 string 转换
题意:N个处理器要进行信息传递,处理器i传递信息给自己不需要时间,处理器i与处理器j之间相互传递信息的时间是一样的,不同处理器之间传递信息所需要的时间由一个矩阵的下三角给出。若矩阵对应位置为x,则说明相应的两个处理器之间无法传递信息。求从第一个处理器传递信息到其他所有处理器最少需要多少时间。题目不难最短路算是模板题了,不过新学了一个字符串转int的函数string str;int n = atoi...原创 2018-04-13 16:24:17 · 199 阅读 · 0 评论 -
poj - 3660 floyd
题意:牛有等级,a,b表示a>b 问有几头牛可以确定等级floyd跑一边。。。。。看左右加起来是否为n - 1链接:poj 3660#include<iostream>#include<algorithm>#include<map>#include<string>#include<vector>#include<...原创 2018-04-13 16:48:26 · 118 阅读 · 0 评论 -
spfa邻接矩阵形式
int cost[MAX_V][MAX_V];int d[MAX_V];bool used[MAX_V];int p[MAX_V];int in[MAX_V];void init() { for(int i = 0; i <= N; i++) { cost[i][i] = 0; for(int j = 0; j < i; j++) {...原创 2018-04-28 20:38:51 · 466 阅读 · 0 评论 -
dijkstra邻接矩阵形式
int cost[MAX_V][MAX_V];int d[MAX_V];bool used[MAX_V];int N, M, C, A, B;void init() { for(int i = 0; i <= N; i++) { for(int j = 0; j <= i; j++) { if(i == j) { ...原创 2018-04-28 20:40:13 · 222 阅读 · 0 评论 -
poj - 3268&&poj - 1511 spfa + 双向建图
题意:有n个农场,每个农场有一头,所有的牛要去其中一个农场去开party,每条路每个方向牛走都需要一个时间,问所有的牛中来回之后用时最大的那一个时间最小。开party的农场作为原点,跑spfa得到一组时间,反向建图跑spfa得到一组时间,两组相加的最大值即为答案注意先存边再建图每次不要忘了init()链接:poj 3268#include <iostream>#include <...原创 2018-04-13 14:29:13 · 138 阅读 · 0 评论 -
poj - 1797 最大化最小边 spfa变形
题意:有n个城市,m条道路,在每条道路上有一个承载量,现在要求从1到n城市最大承载量,而最大承载量就是从城市1到城市n所有通路上的最大承载量即通路所有边中承载量最小的那个最大化 最大化最小值 spfa变形: 初始化d[maxn]数组为-inf 、d[s]为inf、 改一下spfa松弛链接:poj 1797#include <iostream>#include <algori...原创 2018-04-13 14:28:57 · 266 阅读 · 0 评论 -
poj - 2253 最小化最长边 spfa变形
题意:给出青蛙A,B和若干石头的坐标,现青蛙A想到青蛙B那,A可通过任意石头到达B, 问从A到B多条路径中的最长边中最短的边 最短路中最小化最大值,把spfa中松弛改一下就行了 注意double类型链接:poj 2253#include <iostream>#include <algorithm>#include <cstdio>#includ...原创 2018-04-13 14:28:47 · 165 阅读 · 0 评论 -
poj - 2502 dijkstra 或 spfa 单位换算 建图
题意:一个人要从家到学校,步行速度10km/h,图上有地铁40km/h,地铁有不同线路,每个线路上的地铁可以互通,相邻两站之间地铁以直线运行,不同地铁线路之间不能直接通过地铁乘坐到达,但不同地点间可以直接步行,按直线走。给出家、学校、各地铁站台的坐标(单位 m),问从家到学校最短需要花费多少时间(min)?单位有点坑。。。。。。地铁线不一定是直的一站一站的建,剩余的全部步行建图链接:poj 250...原创 2018-04-16 19:19:42 · 224 阅读 · 0 评论 -
poj - 1062 spfa+枚举区间
中文题。。。。。。但并不是很好做。。。。。物品看做一个点,酋长为源点,设置一个超级汇点,所有在与酋长等级限制之内的物品可以连向汇点,从酋长出发求最短路。可交换的就在a,b之间连一条权值为剩余价值的路但是存在等级限制所以要枚举每一个区间求最短路,最小的那个即为所求。走的路要在等级限制内链接:poj 1062#include <cstring>#include <cstdio>...原创 2018-04-16 20:35:49 · 137 阅读 · 0 评论 -
LightOJ - 1074 spfa判负环+标记负环点
题意:给定每条街的拥挤度p(x),街a到街b的时间就是(p(b)-p(a))^3,求第一个点到第k个点的最短路,若无法到达或结果小于3,输出’?’。明显题目中存在负环,所以要用spfa判负环,然后与负环有关的点(标记)都要输出?,因为都会<3.链接:LightOJ - 1074#include <iostream>#include <algorithm>#incl...原创 2018-04-16 21:51:06 · 245 阅读 · 0 评论 -
hdu - 4725 最短路+拆点建图 dijkstra或spfa
题意:每个点放在一层,然后给了n个点,n层楼(一楼可多点),相邻的两层距离是固定的k,有额外m条边,然后求1到n的最短路径,如果没有则输出-1 重要的还是建图吧。每一层拆出来一个出点一个入点,从n+1~2n,从2n+1~3n,相邻层出连入权值为k;点在哪一层就:入~点~出。1~n就表示1~n这些点。时间卡的很恶心啊,spfa 998ms卡过一个其他的都是一样的代码都没过。。。。。。看网上用什么双...原创 2018-04-17 15:23:49 · 325 阅读 · 0 评论 -
poj - 3169 差分约束模板题
题意:一些母牛按序号排成一条直线。有两种要求,A和B距离不得超过X,还有一种是C和D距离不得少于Y,问可能的最大距离。如果没有输出-1,如果可以随便排输出-2,否则输出最大的距离。B - A <=X、 B - A >= Y、i+1-i>=1。对应建图就行了 链接:poj 3169差分约束系统的解法如下:1、 根据条件把题意通过变量组表达出来得到不等式组,注意要发掘出隐含的不等式...原创 2018-04-17 20:41:53 · 247 阅读 · 0 评论 -
hdu - 3416 最短路spfa+最大流
题意: 有 n 个城市,知道了起点和终点,有 m 条有向边,问从起点到终点的最短路一共有多少条。(一条边只能走一次)先通过最短路去除掉没有用的边,然后用一次最大流就是答案了。不过要是去掉原图中不在最短路上的边,判断某条边是不是最短路上的边的时候: 要满足 d1[x[i]] + d[y[i]] + c[i] == d1[b]链接:hdu 3416#include <i...原创 2018-04-17 21:43:11 · 276 阅读 · 0 评论 -
hdu - 4370 神建图最短路 spfa改进 邻接矩阵存图
题意:有一个n*n的01矩阵,满足以下条件 1.X12+X13+...X1n=1 2.X1n+X2n+...Xn-1n=1 3.for each i (1<i<n), satisfies ∑Xki (1<=k<=n)=∑Xij (1<=j<=n). 另给出一个矩阵C,求∑Ci...原创 2018-04-18 12:21:07 · 162 阅读 · 0 评论 -
poj - 2387 最短路 spfa+dijkstra最全模板 链式前向星 路径输出
输入输出简单明了 无向图 从n 到 1 最短路模板题 总结一下模板备用链接:poj 2387#include <iostream>#include <algorithm>#include <cstdio>#include <cmath>#include <cstring>#include <string>#...原创 2018-04-13 14:28:34 · 589 阅读 · 0 评论 -
AtCoder - 3535 Restoring Road Network 类 floyd求最短路径和
题意: 给你n*n的图,判断是不是满足任意两点都是最短路,满足的话输出所有的最短路径和。一开始写的时候想错方向了,求了1~n最短路。。。。。。链接:Atcoder - 3535代码:#include <iostream>#include <algorithm>#include <cstdio>#include <cmath>...原创 2018-07-31 14:05:54 · 197 阅读 · 0 评论