最短路径算法简介 最短路径算法是在图中求两点(或多点)之间的最短路径,我们最常见的最短路径算法有四种:Bellman-ford、Dijkstra、SPFA、Floyd。 Bellman-ford算法可以用于有负边权的图,如果途图中有负环,算法也可以检验出来,时间复杂度为O(VE)。 Dijkstra ...
分类:
编程语言 时间:
2018-08-08 13:35:01
阅读次数:
152
传送门:>Here< 题意:求在无向图中,S到E恰好经过T条边的最短路(边可重复走) ($T \leq 100$) 解题思路 依然是好题。使用矩阵乘法——渐渐发现,矩阵乘法做图论题和Floyd有着很大的联系。从方程就能看出来相似:$f[i][k]+f[k][j]$和$f[i][k]*f[k][j]$ ...
分类:
其他好文 时间:
2018-08-07 21:28:26
阅读次数:
148
题目大意 货币间有一定的汇率可以相互兑换, 给出n种货币并告诉m条各货币间的汇率, 看这些货币中能否有一种可以通过一系列的兑换而增加。 如果是可行的,那么就输出Yes,否则输出No 花Q,博客排版好难啊,就这么将就吧 理性(瞎JB)分析: 因为汇率就是从一单位的本体开始乘 一直乘到兑换成自己为止 又 ...
分类:
其他好文 时间:
2018-08-02 20:42:00
阅读次数:
195
原题链接 题意: 给定 N 个不同类型插座,每个插座只能插一个相对应的设备 ; 现有 M 个人,给出每个人名字和设备的插头类型,然后给定 K 种转换器,每种转换器的数量都是无限的,每种转化器描述为: 插座类型,插头类型; 现在问至少有多少个人的设备无法插入。 思路: 一个典型的最大流问题,设定超级源 ...
分类:
其他好文 时间:
2018-08-01 18:26:27
阅读次数:
146
1.1 基本数据结构 1. 数组 2. 链表,双向链表 3. 队列,单调队列,双端队列 4. 栈,单调栈 1.2 中级数据结构 1. 堆 2. 并查集与带权并查集 3. hash 表 自然溢出 双hash 1.3 高级数据结构 1. 树状数组 2. 线段树,线段树合并 3. 平衡树 Treap 随机 ...
分类:
编程语言 时间:
2018-08-01 14:33:55
阅读次数:
178
问题 C: Restoring Road Network 题目描述 In Takahashi Kingdom, which once existed, there are N cities, and some pairs of cities are connected bidirectionally ...
分类:
Web程序 时间:
2018-07-31 17:15:21
阅读次数:
187
题目大意 每个牧场里的某些坐标位置有牧区,牧区间有一个个路径(长度为位置间的直线距离)。一个连通块内两个节点间的最短路径长度最大值为它的直径。请编程找出一条连接两个不同牧场的路径,使得连上这条路径后,这个更大的新牧场有最小的直径。输出在所有牧场中最小的可能的直径。 思路 注意 Floyd先枚举k。 ...
分类:
其他好文 时间:
2018-07-30 15:34:49
阅读次数:
134
传递闭包的含义指通过传递性推导出尽量多的元素之间的关系,而传递闭包一般都是采用floyd算法。 下面用两道题来实现传递闭包: Problem 1(POJ3660): 题目链接:http://poj.org/problem?id=3660 题目: 题意:n头牛参加比赛,给你m对关系(譬如给你a和b,那 ...
分类:
其他好文 时间:
2018-07-29 23:56:04
阅读次数:
374
原创 除了DFS和BFS求图中最短路径的方法,算法Floyd-Warshall也可以求图中任意两点的最短路径。 从图中任取两点A、B,A到B的最短路径无非只有两种情况: 1:A直接到B这条路径即是最短路径(前提是存在此路径); 2:A先通过其他点,再由其他点到B。 我们并不知道A是否需要通过其他点间 ...
分类:
其他好文 时间:
2018-07-28 13:45:06
阅读次数:
98
这道题首先要明确一点,那就是当你从一个点走到自己时,也是需要花费这个点点权值的费用。这个点卡了我两次QWQ 然后我比较喜欢分两步搞: 首先,我们利用floyd的一个性质:就是在更新其他点之间的路线时要先引入一个点,而枚举是按编号 再来看这道题,如果它不要求加点权,那么就是裸的floyd,所以这道题难 ...
分类:
其他好文 时间:
2018-07-27 14:36:02
阅读次数:
122