图论模板 最短路 Dijkstra struct HeapNode { int u; LL d; bool operator < (const HeapNode& rhs) const { return d > rhs.d; } }; bool done[maxn]; LL d[maxn]; voi ...
分类:
其他好文 时间:
2020-10-26 11:08:36
阅读次数:
22
1.图的初始条件[数组表示] //邻接表存储 int node[N]; struct Edge{ int to,next,value; }edges[M]; int flag; //矩阵存储 int dis[N][N]; 已知起点和终点的最短路 dijkstra 算法:选择最短边上的点直到所有点加入 ...
分类:
编程语言 时间:
2020-07-23 09:17:14
阅读次数:
85
Solution: Dijkstra (大概读作:迪杰斯特拉?) 算法思想: 给定一张n个点,m条边的图,起点为s。求起点s到图中所有点的最短路径(单源最短路。dis[i]表示从起点到i的最短距离。vis[i]表示此点是否已被标记确定为最短。 1、初始化dis[s]=0,其余结点dis为正无穷大。 ...
分类:
编程语言 时间:
2020-07-19 00:39:57
阅读次数:
85
题意:有一$n$个点,$m$条边的双向图,每条边都有花费和流量,求从$1$~$n$的路径中,求$max\frac{min(f)}{\sum c}$. 题解:对于c,一定是单源最短路,我们可以用dijkstra,但是这个最小流量不是很好搞,但是题目所给的数据范围较小,所以我们可以直接枚举最小流量,然后 ...
分类:
其他好文 时间:
2020-07-17 19:42:27
阅读次数:
70
dijkstra+堆优化: P4779 【模板】单源最 code: #include<bits/stdc++.h> using namespace std; const int N=3e5; int n,m; int s,x,y,w; int head[N]; int dis[N]; bool vi ...
分类:
其他好文 时间:
2020-07-03 12:11:33
阅读次数:
57
dijkstra算法的运用条件是求某一点到其他点的最短路径问题 题目链接:https://www.luogu.com.cn/problem/P4779 实现思路: 类似多米诺骨牌问题,推下第一个,后面的骨牌会按时间顺序倒下,那么最先倒下的那条路便是最短路 每次找目前已知的最短路径(到所需的原点),这 ...
分类:
编程语言 时间:
2020-05-19 22:51:13
阅读次数:
77
Dijkstra算法 (gif来源: "戴克斯特拉算法 维基百科" ) 计算 正权图 上的单源最短路,同时适用于有向图与无向图 ①给源点标记$d[0]=0$,其他$d[i]=INF$ ②循环:每次都从d值最小的结点$x$开始,对于从$x$出发的所有边$(x,y)$,对于未被访问过的结点$y$,更新$ ...
分类:
编程语言 时间:
2020-05-19 20:42:02
阅读次数:
56
2020-03-01 22:59:59 问题描述: 给你一个 m x n 的网格图 grid 。 grid 中每个格子都有一个数字,对应着从该格子出发下一步走的方向。 grid[i][j] 中的数字可能为以下几种情况: 1 ,下一步往右走,也就是你会从 grid[i][j] 走到 grid[i][j ...
分类:
其他好文 时间:
2020-03-01 23:18:08
阅读次数:
109
Dijkstra算法适用范围是单源最短路,有向图或者无向图,不能处理负权值 Floyd算法适用多源最短路,有向图或者无向图,可以处理负权值但是不能处理负权回路 Ford 算法多源最短路,可以处理负权值,能检测负权回路 Leetcode 743. 网络延迟时间 先用Dijkstra算法解,输入是vec ...
分类:
编程语言 时间:
2020-02-23 11:55:45
阅读次数:
90
1 #include<bits/stdc++.h> 2 #include<vector> 3 #include<queue> 4 using namespace std; 5 6 const int inf = 0x3f3f3f3f; 7 const int num = ???; 8 struct ...
分类:
其他好文 时间:
2020-02-01 20:57:40
阅读次数:
50