每个点贪心找最小的前驱选上,然后分情况: 如果形成一棵树,那么算法结束; 否则对该图缩点,scc之间的边的权值赋值成 用这条边替代原来终点的前驱 的权值,表示换去一条环边,然后做最小树形图即可。 每轮至少缩去一个点,复杂度 $O(n^2+nm)$。 ...
分类:
其他好文 时间:
2020-01-22 23:40:33
阅读次数:
85
有向图的强连通分量 一.定义 给定一张有向图。若对于任意两个节点x,y 既存在从x->y的路径,也存在从y->x的路径,则称该有向图为“强连通图”。 有向图的极大连通子图被称为强连通分量。 二.强连通分量的求法。 1.Tarjan算法 基于 dfs 的一种算法,每一个强连通分量为其搜索树的一棵子树, ...
分类:
其他好文 时间:
2020-01-21 21:47:56
阅读次数:
72
题目链接:https://vjudge.net/problem/HDU-4738 题目:tarjan求桥,坑点: 题目说是分岛任务...如果所有岛之间没有完全连通,就不需要执行任务了...答案直接是0... 桥上可能没人,但是,炸弹需要一个人去送,所以至少1个人。 1 #include <iostr ...
分类:
其他好文 时间:
2020-01-17 17:31:00
阅读次数:
87
题意翻译 给你一个有nnn个点的无向图,没有偶环。我们把节点标记为1..n1..n1..n。 你需要回答qqq个询问,每一个询问由一个区间[L,R](1=x 则答案贡献为 i cnt[i]+1 若cnt[i] include include include using namespace std; ...
分类:
其他好文 时间:
2020-01-14 23:38:38
阅读次数:
74
[Toc] 基本上都是板子, 还没做完 loj 10091 受欢迎的牛 缩点后出度为$ 0 $的点就是欢迎的牛,超过一个点则不存在 ...
分类:
其他好文 时间:
2020-01-12 09:34:01
阅读次数:
102
学着zkw突然回来整理平衡树 平衡树呢,是一种比较毒瘤的数据结构, 首先,其种类非常多,实现原理也各有差异,各有千秋, 而且其应用也非常广泛, ~~之前看见_rqy说不会线段树然后敲了一个平衡树A掉题目~~ 所以我将分类整理各类平衡树 说到Splay,第一次正式学习是在qbxt的晚自习,然而并没有听 ...
分类:
其他好文 时间:
2020-01-07 21:28:18
阅读次数:
90
需补内容 以下内容按照重要性排序: 1. 基础部分(需要专门学习,需整理配套模板): 1. DP 1. 背包问题 2. 数位DP 3. 区间DP 2. 图论 1. 二分图 2. 最大团 3. 连通性(tarjan) 3. 数据结构 1. 树直径,重心等基本参数。 2. FHQ Treap, 替罪羊树 ...
分类:
其他好文 时间:
2020-01-01 09:27:29
阅读次数:
98
tarjan 算法思想 dfs,如果还能返回到起点,说明这些点是强联通的 模板 c++ include using namespace std; define mem(a,b) memset(a,b,sizeof(a)) define cin(a) scanf("%d",&a) define pii ...
分类:
其他好文 时间:
2019-12-24 12:15:10
阅读次数:
82
题目大意 给你一个带权无向图,满足图上任意一条边最多属于一个环,有$q$个询问,求$u,v$之间的最短路。 $n,q\leq 10000$ Solution 首先用Tarjan建一棵以$1$为根的搜索树,找出每个环,记录环的总长,将环内每个点$u$连向环内$dfs$序最小的点$v$,边权为$u$到$ ...
分类:
其他好文 时间:
2019-12-23 22:21:01
阅读次数:
81
然而这只是 70pts 的部分分,考场上没想到满分怎么做(现在也不会) code: #include <cstdio> #include <string> #include <stack> #include <queue> #include <cstring> #include <algorithm ...
分类:
编程语言 时间:
2019-12-21 09:30:03
阅读次数:
81