随笔分类 - Tarjan
摘要:题目传送门 题目大意大概就是给你一个混合图(既有有向边又有无向边),对于每条无向边,u-v,问删去u->v,或删去v->u那条可以使新图强连通。(保证数据有解)。 这道题前几个数据点送分。 枚举每一条边,先将它去掉,遍历图,如果可以达到所有点,即强连通。 比如去掉u->v,其实只要dfs(u),判断
阅读全文
摘要:题目传送门 暴力直接对于每个点跑一遍二分图匹配,能拿四十分。 然而我们考虑正解。 对于一对Couple我们建♂->♀的一条边,对于一对曾经有恋情的情侣我们建♀->♂的一条边。 跑Tarjan缩点。 判断每一对Couple,如果在同一个强连通分量里,他们就不稳定(即能通过曾经有恋情的关系跑回来)。 c
阅读全文
摘要:题目传送门 这道题用Tarjan求出点-双连通分量,对联通块做一些玄学操作。 细节很多,不说了看code。 code:
阅读全文
摘要:题目传送门 这道题苟了我好久,因为链表的内存问题,之后再细讲。 首先这是一道Tarjan+DAG上DP的题目。 有三种门,对于每种门可以和其他门相连。即连边。 使用链表快速查询连边。 建完图后可以进行Tarjan缩点。 然后做一遍DAG上DP就好了。(记搜) 然后因为建图时会有很多条边,而行列最多只
阅读全文
摘要:题目传送门 裸的模板题,Tarjan求联通量。 code: 模板,加深印象
阅读全文
摘要:Tarjan,一个十分有用的东西,可以求有向图的强连通分量,复杂度达到O(V+E)。 Tarjan算法是基于对图深度优先搜索的算法,每个强连通分量为搜索树中的一棵子树。搜索时,把当前搜索树中未处理的节点加入一个堆栈,回溯时可以判断栈顶到栈中的节点是否为一个强连通分量。 我们开一个数组DFN,记录i这
阅读全文