一、技术总结 关于最短路径的问题,可以将问题化简,为两个部分,一个是单独使用Dijkstra求最短路径,然后再使用DFS进行第二判定条件再选出合适的路径; 其中推荐使用邻接表来存储图的信息,至于其他边权可以使用二维数组进行存储,如果点权直接使用结构体进行存储信息; 如果有多个判定条件,应该分别使用D ...
分类:
其他好文 时间:
2020-07-18 13:40:01
阅读次数:
55
A - Distance in Tree CodeForces - 161D 题目大意:树是一个不包含任何圈的连通图。树的两个节点之间的距离是节点之间最短路径的长度(也就是边的长度)。 给定一棵有n个节点的树和一个正整数k,找出距离恰好为k的不同节点对的数量。注意,节点对(v, u)和节点对(u, ...
分类:
其他好文 时间:
2020-07-18 11:28:18
阅读次数:
57
三角形最小路径 链接:三角形最小路径和 //设 d[i][j]为[0,0]到[i,j]的最短路径 /*由于每一步只能移动到下一行「相邻的节点」上, 因此要想走到位置 (i, j)(i,j),上一步就只能在位置 (i - 1, j - 1)(i?1,j?1) 或者位置 (i - 1, j)(i?1,j ...
分类:
其他好文 时间:
2020-07-14 18:24:32
阅读次数:
50
class Solution { vector<vector<pair<int,double> > >v; public: double maxProbability(int n, vector<vector<int>>& edges, vector<double>& succProb, int s ...
分类:
其他好文 时间:
2020-07-12 22:32:44
阅读次数:
79
首先java中也是有Pair类可以直接用的。在图或者相关问题中可以派上用场。 其次就是Dijkstra算法。这个算法我是看过,而且今天周赛这题(leetc5211)是挺容易想到该算法,但是我以前只看过没写过,导致我上午打开浏览器现学,结果算法学会了之后发现用邻接矩阵超内存限制,然后只好现学邻接表,学 ...
分类:
其他好文 时间:
2020-07-12 18:43:35
阅读次数:
67
Q.首先搞明白两个概念,距离矢量和链路状态 距离矢量:中的距离是指跳数,即从这到那需要跳几跳才能到,矢量就是下一跳在哪,决定了你往下跳的方向。 链路状态(L.S):核心是不传路由,传的是 LSA。所谓LSA就是 几个设备和他们的邻居关系,也就叫拓扑信息 链路状态通告(LSA):设备将自己的名字,端口 ...
分类:
其他好文 时间:
2020-07-11 22:49:13
阅读次数:
57
问题描述 给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最小深度 2. 来源:力扣(LeetCod ...
分类:
其他好文 时间:
2020-07-11 19:26:40
阅读次数:
44
题目: 给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回它的最小深度 2. 分析: 我最初的思路是递归 ...
分类:
其他好文 时间:
2020-07-10 15:41:59
阅读次数:
67
题目描述 给定一张 \(N\) 个点 \(M\) 条边的无向连通图,每条边有边权。我们需要从 \(M\) 条边中选出 \(N ? 1\) 条, 构成一棵树。 记原图中从 $1$ 号点到每个节点的最短路径长度为 \(D_i\) ,树中从 $1$ 号点到每个节点的最短路径长度为 \(S_i\) ,构出的 ...
分类:
其他好文 时间:
2020-07-10 10:08:33
阅读次数:
54
最短路算法(三)Dijkstra算法 PS:因为这两天忙着写GTMD sagment_tree,所以博客可能是sag+图论混搭着来,另外sag的基本知识就懒得整理了…… Part 1:Dijkstra算法基本信息 以下,我们用dis[n]表示1->n的最短路径长度,vis[n]表示n号节点有没有被访 ...
分类:
编程语言 时间:
2020-07-09 12:17:08
阅读次数:
123