
tarjan
文章平均质量分 55
ssl_fuyang
ヾ(◍°∇°◍)ノ゙
展开
-
Riddle【2-SAT】
2-SAT(建图)原创 2022-11-03 15:18:00 · 141 阅读 · 0 评论 -
2-SAT 问题【模板】
>Linklugou P4782>Description>解题思路2-SAT问题如题目所示。注意到每个变量只能为真或假,也就是同一个变量真和假不能同时存在。我们可以根据题目要求满足的条件建图,把每个变量分成真假两个点,按照条件建边,比如 「x1x_1x1为真或 x3x_3x3为假」,就建一条边 (x1real,x3real)(x_1real,x_3real)(x1real,x3real),表示起点可以推出终点。无解的情况就是同一个变量的真假互相推出了(注意是互相原创 2022-02-24 21:59:13 · 334 阅读 · 0 评论 -
[ZJOI2007]最大半连通子图【tarjan缩点】【拓扑排序+DP】
>Linkluogu P2272ybtoj最大半连通子图>DescriptionN≤105,M≤106N\le10^5,M\le10^6N≤105,M≤106>解题思路强连通子图一定是半连通子图,所以考虑到把这张图进行缩点然后图就变成了一个DAG这时就会发现,题目要求求的最大半连通子图其实就是DAG上的一条链(如果是两条链组合的话,不满足要求)要注意的是,缩点以后建边要注意判重,建重边的话会似的方案数变大!!>代码#include <iostrea原创 2021-12-04 16:57:25 · 271 阅读 · 0 评论 -
割点(割顶)【tarjan】
>Linkluogu P3388>Description求一张无向图的割点集>解题思路按dfs序跑一遍tarjan(那边就分成了树边和回边…),分两种情况根节点:如果它有两个及以上的子树,显然它就是割点非根节点:对于一条边 (u,v)(u,v)(u,v),如果 lowv≥dfnulow_v≥dfn_ulowv≥dfnu,那 uuu 就是割点>代码#include <iostream>#include <cstdio>#inc原创 2021-10-22 09:22:57 · 94 阅读 · 0 评论 -
受欢迎的牛【tarjan】【强连通分量】
>Linkybtoj受欢迎的牛luogu P2341>解题思路一开始我是想到用拓扑,按拓扑序依次累计上每头牛的追求者数目,最后计算答案这样就需要先找出入度为0的点开头,但是发现图中可能没有入度为0的点……所以我们需要找出强连通分量进行缩点,使图变成 有向无环图,这样就一定会有入度为0的点了。这样做是成立的,因为强连通中的点可以两两到达,如果其中一个点可以到达分量外的点,那么强连通分量中的另一个点也一定可以到达这个点,相反依然成立。但是不知道为什么我WA 了,后来我去看书,发现了更简原创 2021-07-05 09:58:41 · 156 阅读 · 0 评论 -
有向图缩点【tarjan】【强连通分量】【拓扑】
>Linkybtoj有向图缩点luogu P3387>解题思路根据 “允许多次经过一条边或者一个点,但是重复经过的点,权值只计算一次” ,我们可以知道如果我们到达了一个强连通分量中的其中任意一个点,我们都必须走完这个强连通中的其他所有点才算更优,且得到的权值是整个强连通分量的权值之和。也就是说,我们走过一个点,就相当于把它所处的强连通分量走过了。所以我们要对有向图缩点,找出其中每一个强连通分量然后缩成一个点,这样我们就得到了一个新的有向无环图。这时要找一条经过权值最大的路径就容易了,原创 2021-07-05 08:44:49 · 209 阅读 · 0 评论 -
迷宫花坛(garden)【仙人掌】【tarjan】【LCA】
>Description圣玛格丽特学园的一角有一个巨大、如迷宫般的花坛。大约有一个人这么高的大型花坛,做成迷宫的形状,深受中世纪贵族的喜爱。维多利加的小屋就坐落在这迷宫花坛的深处。某一天早晨,久城同学要穿过这巨大的迷宫花坛,去探望感冒的维多利加。整个迷宫可以用N个路口与M条连接两个不同路口的无向通道来描述。路口被标号为1到N,每条通道有各自的长度。整个迷宫一定是连通的,迷宫中可能存在若干个环路,但是,出于美观考虑,每个路口最多只会属于一个简单环路。例如,图1所示的迷宫是非常美观的,但图2则不符合我原创 2020-08-22 07:42:21 · 270 阅读 · 0 评论 -
静态仙人掌【模板】【tarjan】【LCA】
>Description这是一道静态仙人掌(Block Forest Data Structure)的模板题。如果您不知道什么是仙人掌,那么此处给出无向仙人掌图的定义:任意一条边至多只出现在一条简单回路的无向连通图称为仙人掌。给你一个有 n 个点和 m 条边的仙人掌图,和 q 组询问每次询问两个点 u,v求两点之间的最短路。>Input第一行三个正整数 n,m,q,意义如题目描述。接下来 mmm 行,每行三个正整数 u,v,w,表示 u,v 之间有一条权值为 w 的无向边。然原创 2020-08-21 21:21:49 · 460 阅读 · 0 评论