![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图论-最短路
-skyline-
这个作者很懒,什么都没留下…
展开
-
PTA A1003 Emergency (Dijkstra求单源最短路)
题意:给出n个城市,m条无向边。每个城市中都有一定数目的救援小组,所有边的边权已知。现在给出起点和终点,求从起点到终点的最短路径条数及最短路径上的救援小组数目之和。如果有多条最短路径,则输出数目之和最大的。#include<bits/stdc++.h>using namespace std;#define INF 0x3f3f3f3fconst int N=505;int...原创 2019-03-03 18:29:49 · 240 阅读 · 0 评论 -
一个人的旅行 HDU - 2066 最短路 (Floyd / Dijkstra / SPFA)
法一:Floyd求多源汇最短路:对整张图跑一遍Floyd,然后枚举起点终点,求最小值即可。#include<bits/stdc++.h>using namespace std;const int N=1005,INF=0x3f3f3f3f;int g[N][N];int s[N],d[N];int n;void floyd(){ for(int k=1;k...原创 2019-08-03 09:49:27 · 160 阅读 · 0 评论 -
HDU - 1385 Minimum Transport Cost(Floyd)
题意:已知一邻接矩阵,g[i][j]表示从 i 城道 j 城所需要的花费,b[ i ] 是从 i 城市路过(不是起始城市,也不是终点城市)要交的税。接着有若干询问,给出起点城市和终点城市,问最少花费,并输出该路径,如果有多条最短路径,输出字典序最小的。最后输出最小花费。思路:Floyd求a->b最短路,长度相等时比较字典序,re[i][j] = k 表示从 i 到 j 是 i 先到 k ...原创 2019-08-03 17:01:19 · 104 阅读 · 0 评论 -
A Walk Through the Forest HDU - 1142(Dijkstra/SPFA)
题目链接题意:给定n个点,m条边,1号点是起点,2号点是终点,问从起点到终点满足条件的路有多少条,这个“条件”如下:He considers taking a path from A to B to be progress if there exists a route from B to his home that is shorter than any possible route ...原创 2019-08-06 09:53:10 · 124 阅读 · 0 评论 -
A strange lift HDU - 1548(Dijkstra/SPFA/BFS/DFS)
法一:Dijkstra+邻接表对于每一层,在它与它up和down可到的两个楼层间建边(down的楼层要大于0),权值为1,求最短路。(代码中注释的地方是默写模板时出错的地方,要特别注意)#include<bits/stdc++.h>using namespace std;typedef pair<int,int> PII;const int N=205,M...原创 2019-08-06 15:17:49 · 132 阅读 · 0 评论 -
zz's Mysterious Present HDU - 2145
傻逼题目,毁我青春题意:若干人在不同地点,去zz家参加party,最先到的人可获得礼物。每个人都会走从自己家到zz家的最短路,每个人的速度都不同。同时到的话,离zz家远的获得礼物;离zz家一样远的话,序号大的人获得礼物。问最终谁获得礼物。输入:地址数n,人数m,边数kk行:a, b, c 有向边的端点和权重1个数:目标地址zz家m个数:m个人所在地址m个数:m...原创 2019-08-13 20:28:02 · 119 阅读 · 1 评论 -
Einbahnstrasse HDU - 2923 (Dijkstra/SPFA/Floyd)
思路:从起点跑一遍Dij,把从起点到各目标点的dist相加;再从各目标点分别跑Dij,把从目标点到起点的dist相加,即是答案。注意:1. 输入处理比较繁,耐心写就好。2. 0<N<100, 0<=C<1000 会有重边,用邻接矩阵存图。#include<bits/stdc++.h>using namespace std;typedef p...原创 2019-08-10 01:30:49 · 119 阅读 · 0 评论 -
2019百度之星初赛三 最短路(2)
我对最短路算法的理解更深刻了(惭愧之前并没深刻理解)急急忙忙 口不择言 记录思路 谨慎阅读题目链接小 A 是社团里的工具人,有一天他的朋友给了他一个nn个点,mm条边的正权连通无向图,要他计算所有点两两之间的最短路。作为一个工具人,小 A 熟练掌握着 floyd 算法,设w[i][j] 为原图中(i,j) 之间的权值最小的边的权值,若没有边则 w[i][j]=无穷大...原创 2019-08-25 20:07:34 · 201 阅读 · 0 评论