随笔分类 -  图论——tarjan

摘要:https://codeforc.es/contest/1137/problem/C 题意 给你n个点,每个点有k天博物馆开放时间的安排表。 有m条单向道路,走过一条边需要一个晚上,经过后就是第二天的意思。 问在无穷大的时间里,可以参观多少不同的博物馆。 思路 我们把每个点都拆出k个点,有单向边相连 阅读全文
posted @ 2019-07-14 22:05 ckxkexing 阅读(192) 评论(0) 推荐(0)
摘要:https://www.luogu.org/problemnew/show/P3225 题意 煤矿工地可以看成是由隧道连接挖煤点组成的无向图。为安全起见,希望在工地发生事故时所有挖煤点的工人都能有一条出路逃到救援出口处。于是矿主决定在某些挖煤点设立救援出口,使得无论哪一个挖煤点坍塌之后,其他挖煤点的 阅读全文
posted @ 2019-02-15 22:55 ckxkexing 阅读(317) 评论(0) 推荐(0)
摘要:https://www.luogu.org/problemnew/show/P3119 题意 有一个有向图,允许最多走一次逆向的路,问从1再走回1,最多能经过几个点。 思路 (一)首先先缩点。自己在缩点再建图中犯了错误,少连接了大点到其他点的边。跑两次最长路,一次以1为起点,一次以1为终点(跑一遍反 阅读全文
posted @ 2019-02-15 22:54 ckxkexing 阅读(165) 评论(0) 推荐(0)
摘要:题意 给出一个有向图,A任务:求最少需要从几个点送入信息,使得信息可以通过有向图走遍每一个点B任务:求最少需要加入几条边,使得有向图是一个强联通分量 思路 任务A,比较好想,可以通过tarjan缩点,求出入度为0的点的个数任务B一开始以为任务A,B没有关系其实是入度为0的点的个数、出度为0的点的个数 阅读全文
posted @ 2019-02-14 23:28 ckxkexing 阅读(186) 评论(0) 推荐(0)
摘要:题意 给定一个无向图,问删掉点i,图中相连的有序对数。(pair<x, y> , x != y);求每个点对应的答案 思路 首先我们可以发现,如果这个点不是割点,那么答案就是n-1,如果是割点,就要考虑子树中的联通块。可以用tarjan,O(n)的复杂度 #include <algorithm> # 阅读全文
posted @ 2019-02-14 23:25 ckxkexing 阅读(166) 评论(0) 推荐(0)
摘要:P1726 上白泽慧音 这是一道用tarjan做的模板,要求找到有向图中最大的联通块。 #include <algorithm> #include <iterator> #include <iostream> #include <cstring> #include <cstdlib> #includ 阅读全文
posted @ 2019-02-04 13:06 ckxkexing 阅读(171) 评论(0) 推荐(0)