
最短路
文章平均质量分 58
别动我的白羊毛
这个作者很懒,什么都没留下…
展开
-
bellman-ford 模板
http://blog.youkuaiyun.com/niushuai666/article/details/6791765Dijkstra算法是处理单源最短路径的有效算法,但它局限于边的权值非负的情况,若图中出现权值为负的边,Dijkstra算法就会失效,求出的最短路径就可能是错的。这时候,就需要使用其他的算法来求解最短路径,Bellman-Ford算法就是其中最常用的一个。转载 2017-09-13 15:11:04 · 882 阅读 · 0 评论 -
ACM-ICPC 2018 沈阳赛区网络预赛 D. Made In Heaven(A*,K短路)
题目链接:https://nanti.jisuanke.com/t/31445 样例输入 2 21 2 2 141 2 52 1 4样例输出 yareyaredawa题意:单向图,问K短路是否小于等于T思路:模板题,你只需要一个优秀的板子,我的板子不够优秀就T了,队友的板子够优秀,但是他居然Whitesnake!里的W没有大写wa了7发!!!!!!!!#...原创 2018-09-08 18:46:48 · 307 阅读 · 0 评论 -
Emptying the Baltic(类似最短路?)
题目:https://odzkskevi.qnssl.com/da9adfb686ef541a14cec9856721130a?v=1507986802E从排水口(sx,sy)开始,压入优先队列,每次去队头元素,与八个方向上的流量比较,知道队列为空#include<cstdio>#include<cmath>#include<cstring>#includ...原创 2017-10-16 15:22:21 · 367 阅读 · 0 评论 -
hdu2544 最短路
#include#include#include#include#include#define inf 999999999#define maxn 105using namespace std;int g[maxn][maxn];int dist[maxn];int vis[maxn];int n,m;void dijkstra(int st){ int i,j,m原创 2017-09-11 14:54:40 · 188 阅读 · 0 评论 -
hdu1217 Arbitrage(Floyd)
#include#include#include#include#include#include using namespace std;double a[1005][1005];double d[1005][1005];int n,m;void floyd(){ int i,j; for(i=0;i<n;i++){ for(j=0;j<n;j++){ d[i原创 2017-09-11 18:59:34 · 205 阅读 · 0 评论 -
hdu2112 Today
主要用map将字符串转化为标号就可以直接套个模板了#include#include#include#include#include#include#define inf 999999999#define maxn 155using namespace std;int g[maxn][maxn];int dist[maxn];int vis[maxn];int n,m原创 2017-09-11 16:54:02 · 240 阅读 · 0 评论 -
hdu2066 一个人的旅行(多源多汇)
家为0,家到各个源点的距离看成0,遍历几个汇点,取最小即可#include#include#include#include#include#define inf 999999999#define maxn 1005using namespace std;int g[maxn][maxn];int dist[maxn];int vis[maxn];int t,s,d,n原创 2017-09-11 16:13:27 · 267 阅读 · 0 评论 -
hdu3790 最短路径问题
要求如果最短距离有多条路线,则输出花费最少的。所以在dijkstra模板基础上,增加一个价值的数组,在路径相同时,比较价值。#include#include#include#include#include#define inf 999999999#define maxn 1005using namespace std;int g[maxn][maxn],c[ma原创 2017-09-11 15:34:35 · 233 阅读 · 0 评论 -
普通dijkstra(邻接矩阵)
#include#include#include#include#include#define inf 999999999#define maxn 20005using namespace std;int g[maxn][maxn];int dist[maxn];int vis[maxn];int n,m;void dijkstra(int st){ int i,j原创 2017-09-11 13:12:48 · 331 阅读 · 0 评论 -
hdu1535 Invitation Cards(dijkstra+邻接表)(反向建图)
求的是从1到其余各点的最短距离之和加上各点到1的最短距离之和如果用Floyd,会超时,所以用dijkstra求一遍,得到1到各点的最短距离,再反向建图,得到各点到1的最短距离不能用矩阵,会爆掉,所以用了邻接表#include#include#include#include#include#define inf 999999999#define maxn 200000原创 2017-09-13 17:37:02 · 276 阅读 · 0 评论 -
hdu1317 XYZZY(floyd、bellman_ford判环)(spfa)
因为有负数,所以不能直接求#include #include #include #include #include #include #define inf 999999999 using namespace std; struct node{ int from,to;}e[10005];int a[105][105];int first[10原创 2017-09-13 14:47:53 · 238 阅读 · 0 评论 -
ACM-ICPC 2018 南京赛区网络预赛 L. Magical Girl Haze(队列优化的dijkstra,dp)
题目链接: Magical Girl Haze样例输入 15 6 11 2 21 3 42 4 33 4 13 5 64 5 2样例输出 3题意:n个点,m条边,有重边,最多可以使得k条边权值为0,问从1到n的最短路思路:dist[i][j]代表走到i这个点,使得j条边权值为0的最短路,用队列优化的dijkstra模板,用num记录当前边权为0的边数,除了常规...原创 2018-09-01 20:20:57 · 251 阅读 · 0 评论