基本思想: 解法1: 抓住一个关键点:只可以从阵营1到阵营2; 如果是1阵营,则可以到达1或者2阵营; 如果是2阵营,则只可以到达2阵营; 所以在此基础上,进行迪杰斯特拉的优化问题; 解法2: 看一位大佬所给出思想,之前自己想删边,结果失败了。 由于只能从1阵营到2阵营,所以只需要删除从2阵营到1阵 ...
分类:
其他好文 时间:
2020-03-30 14:39:55
阅读次数:
83
【最短路径】之 "Dijkstra算法" 最短路径 问题是 "图论" 研究中的一个经典算法问题,旨在寻找图(由结点和路径组成的)中两结点之间的最短路径。算法具体的形式包括: 确定起点的最短路径问题 即已知起始结点,求最短路径的问题。适合使用 "Dijkstra算法" 。 确定终点的最短路径问题 与确 ...
分类:
编程语言 时间:
2020-03-30 12:37:18
阅读次数:
94
【最短路径】之 "Bellman Ford算法" 最短路径 问题是 "图论" 研究中的一个经典算法问题,旨在寻找图(由结点和路径组成的)中两结点之间的最短路径。算法具体的形式包括: 确定起点的最短路径问题 即已知起始结点,求最短路径的问题。适合使用 "Dijkstra算法" 。 确定终点的最短路径问 ...
分类:
编程语言 时间:
2020-03-30 12:36:53
阅读次数:
88
给定无向带权连通图,保留至多 $k$ 条边,最大化到 $1$ 号节点最短路长度不变的点的数量。 Solution 一个显然的做法是,构建原图的一棵最短路径树,任意选择一个大小为 $k$ 的包含根的连通块就是答案 另一方面,我们回归到 Dijkstra 算法的原理,不难发现,我们只需要在算法加了 $k ...
分类:
其他好文 时间:
2020-03-27 21:41:09
阅读次数:
75
基本思想: 迪杰斯特拉得翻版,循环求各个节点,最后求最小结果; 关键点: 注意题目要求; #include<iostream> #include<vector> #include<string> #include<algorithm> using namespace std; const int m ...
分类:
其他好文 时间:
2020-03-26 19:59:10
阅读次数:
72
广度优先搜索(BFS) 主要用于树的层序遍历或图的最短路径寻找,主要使用队列queue来完成。 ①树的层序遍历:使用队列保存未被检测的结点,结点按照宽度优先的次序被访问和进出队。 ②有向无环图的最短路径查找:由于有向无环图的某个节点的next节点可能会与另一个节点的next节点重复,所以我们需要记录 ...
分类:
其他好文 时间:
2020-03-26 17:50:35
阅读次数:
78
最短路径问题。一定要注意将visited[u]是否等于0加入判断!很关键,还是没有理解透,所以才忘了加。(第42行和第45行) 其实图相关的题通过率蛮高的...套路题,坑少。 1 #include <iostream> 2 #include<cstdio> 3 #include<vector> 4 ...
分类:
其他好文 时间:
2020-03-25 13:25:08
阅读次数:
71
HDU 1428 漫步校园 特殊的最短路 题意 这里需要读懂题意中的一句话“另外,他考虑从A区域到B区域仅当存在一条从B到机房的路线比任何一条从A到机房的路线更近(否则可能永远都到不了机房了…)。” 这句话的意思是从 到`(n, n)`的所有路径中,只选择距离最短的路径,并输出最短路径的条数。就是我 ...
分类:
其他好文 时间:
2020-03-24 15:49:22
阅读次数:
69
1797 Heavy Transportation. //是最短路径的变形:每条路上的是容量,需要对dijkstra进行变形//现在是:比较路径上载重量的大小,取小者,在所有的小的情况中取一个大的继续拓展 #include<iostream> #include<cstring> #include<c ...
分类:
其他好文 时间:
2020-03-22 19:35:48
阅读次数:
77
题目:https://pintia.cn/problem-sets/994805342720868352/problems/994805358663417856 输出要求: 翻译结果: 在最短路径不唯一的情况下,输出最短路径中最快的一条,保证唯一。 如果最快的路径不是唯一的,则输出通过最少交叉口的路 ...
分类:
其他好文 时间:
2020-03-22 13:45:15
阅读次数:
91