首页 > 【模板】单源最短路2
头像 YOU&YOU
发表于 2022-07-03 17:49:35
本题使用邻接矩阵进行建图,使用Dijkstra算法求单源最短路。 1.建图:本题图中的顶点数已经给定固定值N = 5000,因此使用二维数组G[N + 1][N + 1]作为邻接矩阵进行建图,两点间无连接时使用无穷大(程序中使用INT_MAX)表示。同时本题为无向图,因此建图时需要注意邻接矩阵关于 展开全文
头像 天不生我李淳罡,剑道万古如长夜
发表于 2022-05-13 18:47:14
">#include<unordered_map> #include<vector> #include<queue> using namespace std; //贪心+动态规划+广度优先搜索 //贪心:搜索使得dp值更小的节点,忽略使得dp值增大的节点,优先 展开全文
头像 随波逐牛
发表于 2022-06-29 21:46:52
首先看题目,发现是单源最短路,脑子里面蹦出来几个可行的算法~~~ 1.dijstra 完美做出,但条件是不能有负权边,堆优化以后复杂度是O(mlogn)。 2.bellman-ford 主要用于有负权边的情况,理论复杂度是O(nm),但队列优化以后往往远小于这个复杂度。 3.floyd 多源最 展开全文
头像 牛客663727824号
发表于 2022-08-07 16:46:57
速度还可以 250ms from collections import defaultdict import sys import heapq input=sys.stdin.readline n,m = map(int, input().split()) neighbors = defaultdi 展开全文
头像 lee23333
发表于 2022-05-18 19:10:01
import java.util.*; public class Main {     public static final int N = 50000&nb 展开全文
头像 珊珊呀!
发表于 2022-06-09 10:26:27
# include<iostream> # include<vector> # include<queue> # include<algorithm> # include<cstdio> using namespace std; cons 展开全文
头像 练习时长两年半的鳄鱼很勤奋努力
发表于 2024-03-23 11:42:22
#include <stdio.h> #include <stdlib.h> int main() { int u, v, w; int i, j; int n, m, t; scanf("%d%d", &t, &a 展开全文
头像 果敢野老
发表于 2023-04-15 13:46:41
#include <climits> #include <cstdio> #include <iostream> using namespace std; #define maxs 5001 int main() { // 定义 顶点数 边数 邻接矩阵 展开全文
头像 枫_root
发表于 2024-08-27 23:23:21
#include <stdio.h> #include <limits.h> #define N 5000 int main() { int n, m; scanf("%d %d", &n, &m); int vco 展开全文
头像 小谷围做题家
发表于 2022-12-24 00:42:13
const rl = require("readline").createInterface({ input: process.stdin }); var iter = rl[Symbol.asyncIterator](); const readline = async () => (awai 展开全文