图论
文章平均质量分 91
Enstein_Jun
与其等待未来,不如创造未来
展开
-
图论500题
=============================以下是最小生成树+并查集======================================【HDU】1213 How Many Tables 基础并查集★1272 小希的迷宫 基础并查集★1325&&poj1308 Is It A Tree? 基础并查集★1856 More is better转载 2015-08-12 08:31:21 · 19871 阅读 · 11 评论 -
数据结构 -- 并查集
1、什么是并查集 并查集是一种用于管理分组的数据结构。它具备两个操作:(1)查询元素a和元素b是否为同一组 (2) 将元素a和b合并为同一组。注意:并查集不能将在同一组的元素拆分为两组。2、并查集的结构 并查集可以使用树来实现。原创 2015-08-10 06:46:02 · 21609 阅读 · 3 评论 -
最小生成树之Kruskal算法
给定一个无向图,如果它任意两个顶点都联通并且是一棵树,那么我们就称之为生成树(Spanning Tree)。如果是带权值的无向图,那么权值之和最小的生成树,我们就称之为最小生成树(MST, Minimum Spanning Tree)。 我们由最小生成树的定义,可以延伸出一个修建道路的问题:把无向图的每个顶点看作村庄,计划修建道路使得可以在所有村庄之间通行。把每个村庄之间修建原创 2015-08-18 08:12:47 · 154313 阅读 · 26 评论 -
最小生成树之Prim算法
普里姆算法(Prim算法),图论中的一种算法,可在加权连通图里搜索最小生成树。意即由此算法搜索到的边子集所构成的树中,不但包括了连通图里的所有顶点,且其所有边的权值之和亦为最小。该算法于1930年由捷克数学家沃伊捷赫·亚尔尼克发现;并在1957年由美国计算机科学家罗伯特·普里姆独立发现;1959年,艾兹格·迪科斯彻再次发现了该算法。因此,在某些场合,普里姆算法又被称为DJP算法、亚尔尼克算法或普里姆-亚尔尼克算法。原创 2015-08-23 07:28:33 · 12630 阅读 · 0 评论 -
Dijkstra应用之次短路
我们都知道Dijkstra算法是求解单源最短路的算法。那么现在我们问题不在是最短路了,而是次短路(第二短的路径)。我们现在还能使用DIjkstra算法吗?当然了,你看到这篇博客的名字就知道了。其实一开始我也没想到用Dijkstra来求解次短路问题,在看《挑战程序设计竞赛》的时候看到这种解法,感觉特别神奇,于是来和大家分享分享。 那么我们现在先回忆下Dijkstra是怎么求解最短路原创 2016-04-29 21:31:22 · 9382 阅读 · 4 评论 -
最短路之单源最短路
在学习图论的过程中,最短论问题是比较常见且又具有代表性的一类问题。最短路是给定两个定点,在以这两个点作为起点和终点的路径中,边的权值和最小的路径。在实际生活中,最常见的最短路问题,就是在地图导航上应用。比如我们把权值作为距离,那么我们就可以求得A到B的最短路径。如果时间作为权值,那么我们就可以得到A到B的最短时间。1、Bellman-Ford算法 单源最短路问题就是将起点固原创 2015-12-23 10:41:05 · 4721 阅读 · 0 评论 -
差分约束系统
差分约束系统,一听这个名字,顿时觉得好高大上。其实并不是这样,那么什么是差分约束系统呢?简单来说就是,给你一堆诸如:x - y 1、差分约束系统现在我们给出一个标准的查分约束的定义。如果一个系统由n个变量和m个约束条件组成,形成m个形如xi-xj≤bk的不等式(i,j∈[1,n],k为常数),则称其为差分约束系统(system of difference constraints)。亦即原创 2016-05-02 11:46:05 · 901 阅读 · 0 评论