图
霖_麒
收拾旧山河,朝天阙
展开
-
Kosaraju算法(两次dfs,求强联通分量)
【概述】Kosaraju 算法是最容易理解,最通用的求强连通分量的算法,其关键的部分是同时应用了原图 G 和反图 GT 。【基本思想】1.对原图 G 进行 DFS 搜索,计算出各顶点完成搜索的时间 f2.计算图的反图 GT,对反图也进行 DFS 搜索,但此...转载 2019-05-31 14:08:06 · 1361 阅读 · 0 评论 -
tarjan求强联通分量
【概述】Tarjan 算法是基于对图深度优先搜索的算法,每个强连通分量为搜索树中的一棵子树。搜索时,把当前搜索树中未处理的节点加入一个堆栈,回溯时可以判断栈顶到栈中的节点是否为一个强连通分量。【基本思路】定义 DFN(u) 为节点 u 搜索的次序编号(时间...转载 2019-05-31 14:11:39 · 153 阅读 · 0 评论 -
迷宫城堡(强联通分量入门题,Kosaraju,tarjan)
目录题目思路代码Kosarajutarjan题目描述为了训练小希的方向感,Gardon建立了一座大城堡,里面有NNN个房间和MMM条通道,每个通道都是单向的,就是说若称某通道连通了AAA房间和BBB房间,只说明可以通过这个通道由AAA房间到达BBB房间,但并不说明通过它可以由BBB房间到达AAA房间。Gardon需要请你写个程序确认一下是否任意两个房间都是相互连通的,即:对于任意的iii和j...原创 2019-05-31 14:19:30 · 207 阅读 · 0 评论 -
最短路模板及思想(Floyd,Dijkstra及其堆优化,SPFA)
~目录啊~定义前言Floyd算法思想特点CodeDijkstra算法思想特点Code玄学优化优化CodeSPFA思想操作特点Code定义松弛:更新本节点与其他节点的距离(更小或更大)前言我没有写Bell算法,我认为你只要会SPFA就行了代码只有关键的Floyd算法思想暴力枚举两个节点i,ji,ji,j的中间节点kkk,(iii通过kkk后可以到达jjj)时间复杂度O(n3)O...原创 2019-07-13 10:08:51 · 555 阅读 · 0 评论 -
病毒virus(拓扑排序)
题目描述有一天,小y突然发现自己的计算机感染了一种病毒!还好,小y发现这种病毒很弱,只是会把文档中的所有字母替换成其它字母,但并不改变顺序,也不会增加和删除字母。现在怎么恢复原来的文档呢!小y很聪明,他在其他没有感染病毒的机器上,生成了一个由若干单词构成的字典,字典中的单词是按照字母顺序排列的,他把这个文件拷贝到自己的机器里,故意让它感染上病毒,他想利用这个字典文件原来的有序性,找到病毒替换...原创 2019-07-10 11:44:52 · 2059 阅读 · 0 评论