第一题:1166 这道题可以说完全是一个模板题了。 AC代码: 第二题:1167 这道题可以说是更加简单了,甚至没有任何算法在内。 AC代码: 第三题:1168 这道题就发挥了Tarjan算法求强连通分量真正的作用:缩点。 不过这道题缩点后也就不用再干什么了(不像某些题目缩点完后还要求拓扑序列),码 ...
分类:
其他好文 时间:
2019-08-28 22:43:11
阅读次数:
112
题面 https://www.luogu.org/problem/P2272 题解 一个子图被称为半联通的,当且仅当他的每一对顶点单向可达,可知强连通分量是一定满足的,强连通分量形成的拓扑图中,不同的支线之间互相不可达,所以只能保留一条链。 $tarjan$缩点+$DAG$上最长链 没有代码。 ...
分类:
移动开发 时间:
2019-08-27 21:21:13
阅读次数:
104
对于有向图来说,由部分点和部分边组成的子图,任意两点都可以到达,但不一定是直达,直白的说,就是子图中有环,或者多个环嵌套。 应用 求缩点问题,在一个有向图中找权值和最大的,就可以找一遍图的所有的能够形成强连通分量的子图,把他们缩成一个点,的权值为所有子图点权值之和,然后找这个图的最多全职和路径 ...
分类:
其他好文 时间:
2019-08-27 00:36:56
阅读次数:
59
https://www.luogu.org/problem/P2341 ...
分类:
其他好文 时间:
2019-08-23 10:46:52
阅读次数:
96
n 个选手参加了一场竞赛,这场竞赛的规则如下:
1.一开始,所有选手两两之间独立进行比赛(没有平局)。
2.主办方将胜者向败者连边形成 n 个点的竞赛图。
3.主办方对这个竞赛图进行强连通分量缩点。
4.每一个强连通分量内部的选手重复步骤 1~3,直到每一个强... ...
分类:
其他好文 时间:
2019-08-20 12:50:42
阅读次数:
64
前置芝士:Tarjan求强连通分量 对于一个有向图中的两个点,对于$V_i V_j$有一条边且$V_j V_i$有一条边(即能互相到达),就是一个强连通分量(不局限于两个点) 我们可以用$Tarjan$求出一个有向图中所有的强连通分量。 那么,在一些图中可以将强连通分量缩成一个点。并对它做一个标记。 ...
分类:
其他好文 时间:
2019-08-16 22:21:31
阅读次数:
103
[toc] 链接 "P2863 [USACO06JAN]牛的舞会The Cow Prom" 思路 用$tarjian$求出强连通分量,并且记录出强连通分量里的点的个数,如果个数大于$1$就$ans++$ 代码 cpp include include include using namespace s ...
分类:
其他好文 时间:
2019-08-15 13:06:47
阅读次数:
70
// Tarjan算法求有向图强连通分量并缩点 #include #include #include #include #include #include using namespace std; const int N = 100010, M = 1000010; // int ver[M], N... ...
分类:
编程语言 时间:
2019-08-13 20:56:44
阅读次数:
100
【双连通分量】 一、边双连通分量定义 在分量内的任意两个点总可以找到两条边不相同的路径互相到达。总而言之就是一个圈,正着走反着走都可以相互到达,至少只有一个点。 二、点双连通分量的定义 参照上面,唯一的不同:任意两个点可以找到一个点不同的路径互相到达。也是一个圈,正反走都可以,至少为一个点。 三、边 ...
分类:
其他好文 时间:
2019-08-13 20:08:12
阅读次数:
123
P2341 [HAOI2006]受欢迎的牛 题解 tarjan 缩点板子题 如果 A 稀饭 B,那就 A 向 B 连边,构造出一个有向图 如果这个有向图里有强连通分量,也就说明这个强连通分量里的所有奶牛互相稀饭,他们都有机会成为明星奶牛 但是如果这个有向图里有2个及以上的出度为0的强连通分量,那么就 ...
分类:
其他好文 时间:
2019-08-13 17:17:35
阅读次数:
81