bellman-ford算法用来解决单源最短路径问题:给定一个起点,求它到图中所有n个节点的最短路径 bellman-ford算法的特点是只对相邻节点进行计算,可以避免 Floyd 那种大撒网式的无效计算,大大提高了效率。 1 #include<iostream> 2 #include<algori ...
分类:
其他好文 时间:
2020-01-29 23:37:01
阅读次数:
83
题意: 给定参数 n,m,a,bn,m,a,b 你现在要构造一颗 nn 个点树,树边的权值可以赋为 [1,m][1,m]中的一个整数。 求有多少种构造树的方法,使得节点 aa 与节点 bb 在树上的最短路径恰好为 mm 。 对 10^9+7109+7 取模 题解: 组合数处理一下,还要用到下面的公式 ...
分类:
其他好文 时间:
2020-01-27 15:49:33
阅读次数:
76
所谓最短路径问题是指:如果从图中某一顶点(源点)到达另一顶点(终点)的路径可能不止一条,如何找到一条路径使得沿此路径上各边的权值总和(称为路径长度)达到最小。 下面我们介绍两种比较常用的求最短路径算法: Dijkstra(迪杰斯特拉)算法 迪杰斯特拉算法思想是按路径长度递增的次序一步一步并入来求取, ...
分类:
编程语言 时间:
2020-01-26 20:36:54
阅读次数:
92
图 基本概念 图是由顶点集合(vertex)及顶点间的关系集合(边edge)组成的一种数据结构。 这里的图并非指代数中的图。图可以对事物以及事物之间的关系建模,图可以用来表示自然发生的连接数据,如:社交网络、互联网web页面 常用的应用有:在地图应用中找到最短路径、基于与他人的相似度图,推荐产品、服 ...
分类:
其他好文 时间:
2020-01-26 19:15:45
阅读次数:
89
题解 最短路径经典题型。套最短路的板子再加上额外的要求就可以了(说起来好简单)。SPFA也行,Dijkstra也可以。这里我用的是SPFA。因为题目要求,将地名和其对应的数字用map映射一下,这样方便处理。 same[i]代表到达地点 i 有几种路径; dist[i]代表从起点到地点 i 的最短距离 ...
分类:
其他好文 时间:
2020-01-24 00:32:49
阅读次数:
112
Dijkstra(迪杰斯特拉)单源最短路径算法 Dijkstra思想 Dijkstra是一种求单源最短路径的算法。 Dijkstra仅仅适用于非负权图,但是时间复杂度十分优秀。 Dijkstra算法主要思想是: 主要思想是,将结点分成两个集合:已确定最短路长度的,未确定的。 一开始第一个集合里只有节 ...
分类:
其他好文 时间:
2020-01-23 14:05:33
阅读次数:
72
【题意】走迷宫问题,找最短路径的每一条路,bfs里面很经典的题 【思路】通过bfs搜索方法,对每一条最短路径都进行存取在数组中; 不过在存取过程中有一个技巧:用数组来存取每个迷宫上的二维点;采用递归的方式把所有点输出来; 【注意】不要搞混淆了,可以自己画图实验几个 以下就是我的代码: #includ ...
分类:
其他好文 时间:
2020-01-23 09:42:45
阅读次数:
102
1/题意/:一个3D的立体图形(类似于长方体),求在此条件下的最短路径 ...
分类:
其他好文 时间:
2020-01-22 22:23:14
阅读次数:
133
说实话,开始一脸懵,主要是不知道怎样往最短路径上想象。。。 【题意】:在一个仅有0,1所组成的数字中找n的最小倍数(所以开头为0当然是不行的),不超过200位(但我做题是没管,也AC了) 【思路】:因为要找n的倍数,当然从最小的一直增大到想要的数字;对于增大的数有两种情况,*10以及*10+1;所以 ...
分类:
其他好文 时间:
2020-01-22 22:20:39
阅读次数:
83
dijkstra算法是经典的贪心算法。基本的想法是,有两个集合S和E,开始S集合中只有一个起点,E集合中有剩下的其他点。遍历E集合中的所有点,找出与起点距离最近的一个点,将其加入集合S,并用该点去更新起点到其他点的最短路径。 由动图结合上面的思路,我们可以看出,算法的基本框架是: 1 1.初始化 2 ...
分类:
编程语言 时间:
2020-01-22 19:50:13
阅读次数:
75