
图论
zxzxin
分享、总结 C++、Java、算法 等技术
展开
-
图的基本结构以及BFS和DFS(递归和非递归)
图的基本结构以及BFS和DFS(递归和非递归)完整的图结构有向图建图以及BFS和DFS无向图建图以及BFS和DFS 完整的图结构图的每个顶点包括顶点的值、入度、出度、和它相邻的点(或者在有向图中就是下一个可以到达的点)的集合、以及以它为起点出发的边的集合;图的每条边包括边的权值、边的起点、边的终点;一个图包括点的集合和边的集合;综上可以得到如下的图结构: ...原创 2018-08-09 10:57:44 · 1352 阅读 · 0 评论 -
LeetCode332 - Reconstruct Itinerary(重新安排行程 图转树 后序遍历)
LeetCode332 - Reconstruct ItineraryLeetCode332 - Reconstruct Itinerary题目链接题目解析解析:由于必须要按照字典序最小的来访问某个节点的孩子,所以在查找节点的孩子的map中使用一个优先队列存放,每次取出来的是字典序最小的;然后按照类似后序遍历的顺序遍历这个图(先访问自己孩子,然后访问自己),然后在反转过来,...原创 2019-01-05 21:10:10 · 486 阅读 · 1 评论 -
Codeforces - 20C & 115A & 840A & 782C
目录Codeforces - 20C - Dijkstra?Codeforces - 20C - Dijkstra?题目链接题目大意给你一个有权图,求从顶点1到顶点n的最短路径。解析Dijkstra模板。用一个pre数组保存是由哪个节点更新过来的就可以得到最短路径。import java.io.BufferedInputStream;import java.util.*...原创 2018-12-31 11:43:12 · 280 阅读 · 0 评论 -
HDU4109_Instrction Arrangement以及关键路径详解
HDU4109_Instrction Arrangement以及关键路径详解关键路径详解HDU4109_Instrction Arrangement题解关键路径详解AOE网概念:在一个表示工程的带权有向图中,用顶点表示事件,用有向边表示活动,边上的权值表示活动的持续时间,称这样的有向图叫做边表示活动的网,简称AOE(Activity On Edge)网。AOE网中没有入边的顶点...原创 2018-12-30 15:45:09 · 473 阅读 · 0 评论 -
Codeforces 217A & 580C & 189A & 368B
目录Codeforces - 217A - Ice Skating题目链接题目大意给你一个n,以及在坐标轴上的n个坐标(把这些坐标看做是一些岛), 一个人可以上、下、左、右的走,也就是说如果两个岛横坐标或者纵坐标相等,它们就可以相互到达,问你还需要添加多少个岛,可以使得任意两个岛可以相互到达。解析先把所有能相互到达的每个整体求出来,使用dfs求出连通分量的个数;然后需要添加的...原创 2018-12-24 11:29:02 · 330 阅读 · 0 评论 -
Codeforces-1082A & 1073A & 330B & GYM101502I
Codeforces-1082ACodeforces-1082A - Vasya and BookCodeforces-1082A - Vasya and Book题目链接题目大意就是给你四个数n、x、y、d,在可以将这个四个数看做在一个坐标轴上,要你从x位置走到y位置,每次只能走d步,然后如果超过了边界就直接走到边界,问你从x走到y位置的最小步数;解析其实很简单,如果间隔距...原创 2018-12-22 13:41:57 · 353 阅读 · 0 评论 -
Hdu - 1874. 畅通工程续(最短路dijkstra模板)
Hdu1874-畅通工程续(最短路dijkstra和堆优化)dijkstra算法总结普通dijstra算法解决堆优化解决手写堆解决 题目链接dijkstra算法总结总结一下dijkstra算法大致的流程: 一开始有一个dist[]数组(也可以是map)来保存从start(起点)到每个点的最短路径(一开始的话,如果start和某个点没有边,就为INF(或者为nu...原创 2018-08-10 12:53:19 · 281 阅读 · 0 评论 -
Hdu - 1863. 畅通工程(最小生成树模板题)(Kruskal算法和Prim算法实现)
Hdu1863-畅通工程(最小生成树模板题)(Kruskal算法和Prim算法实现)Kruskal算法思想及流程Prim算法思想及流程: 题目链接题意以及解析 就是一个求最小生成树的模板题;Kruskal算法思想及流程:首先各个顶点看成一个集合,每个顶点的根就是自己;从整个图中边的集合中取出最小的一条(一开始对边的集合排序),判断该边的两个定点是不是...原创 2018-08-09 16:58:53 · 709 阅读 · 0 评论 -
Uva - 10305. Ordering Tasks | LeetCode - 207. Course Schedule (拓扑排序)
Uva10305-Ordering Tasks(拓扑排序)题目链接题意给你n、m,n代表点的个数,m代表边的条数,然后下面给出m条边,都是有向的(有向图),要你建出一个图,并且找出一种序列,这种序列叫做拓扑序列 。 拓扑排序 是对有向无环图(DAG)进行的一种操作,这种操作是将DAG中的所有顶点排成一个线性序列,使得图中的任意一对顶点u,v满足如下条件:若边(u,v)∈E...原创 2018-08-09 11:20:11 · 378 阅读 · 0 评论 -
Codeforces - 1106D. Lunar New Year and a Wander(图简单题)
Codeforces - 1106D. Lunar New Year and a Wander(图简单题)题目链接题目给你一张图,n、m分别代表n个顶点和m条边,然后给你无向图的m条边,要你从1开始,找到一个遍历图的最小的字典序序列。注意图可能有重复边和自环。解析这题主要是处理字典序以及重复边两个问题:字典序可以用优先队列或者TreeSet来搞定;重复边利用Set去重即可,如...原创 2019-02-02 10:14:19 · 836 阅读 · 0 评论