尽管是缩点的习题,思路也是在看了题解后才明白的。 首先,每个强连通分量内的点都是一定互通的,也就是可以完全把这里面的边都跑满,摘掉所有能摘的蘑菇。那么,考虑给每一个强连通分量化为的新点一个点权,代表摘光蘑菇能拿到的边权之和。然后,在新点之间保留原来的桥及其初始权值。(每一个桥一定只能跑一遍,否则说明 ...
分类:
其他好文 时间:
2019-06-29 22:05:43
阅读次数:
112
P3387 【模板】缩点 静下心来去看 其实真的很好理解 突然搞不懂我之前为什么死活都看不懂 参悟了学长的代码还有BYVoid的讲解 放一下BYVoid大佬的tarjan伪代码 帮助理解 还有各种变量的含义 (from黄学长 栈里的元素表示的是当前已经访问过但是没有被归类到任一强连通分量的结点dfn ...
分类:
其他好文 时间:
2019-06-12 11:11:34
阅读次数:
108
一、tarjan求强连通分量 1. 什么是强连通分量? 引用来自度娘的一句话: “有向图强连通分量:在有向图G中,如果两个顶点vi,vj间(vi vj)有一条从vi到vj的有向路径,同时还有一条从vj到vi的有向路径,则称两个顶点强连通(strongly connected)。 如果有向图G的每两个 ...
分类:
其他好文 时间:
2019-05-13 13:55:20
阅读次数:
89
n个人m条有向边 每条边有权值(话费) 在强连通分量里面互相打电话不用钱 求最小电话费联系到所有人 先缩点 一开始用了krustral最小生成树 但是时错的 因为是有向边 不是无向边!!!!!hack 三个点 1-2 权值1,1-3权值5,3-2权值4 因为保证有答案 直接维护dis可以做 为简单树 ...
分类:
其他好文 时间:
2019-05-01 13:27:34
阅读次数:
102
https://www.luogu.org/problemnew/show/P4171 意识到图中只有两种不同的菜系:满和汉 并且检查员类似于一个约束,可以发现这就是一个2-sat模型,满和汉分别对应true和false 由于只是检查可行性,只需要判断存在点的true个false存在同一个强连通分量 ...
分类:
Web程序 时间:
2019-04-26 14:46:42
阅读次数:
142
这篇文章是从网络上总结各方经验 以及 自己找的一些例题的算法模板,主要是用于自己的日后的模板总结以后防失忆常看看的, 写的也是自己能看懂即可。 tarjan算法的功能很强大, 可以用来求解强连通分量,缩点,桥,割点,LCA等,日后写到相应的模板题我就会放上来。 1.强连通分量(分量中是任意两点间都可 ...
分类:
编程语言 时间:
2019-04-25 23:57:20
阅读次数:
272
题目链接:https://vjudge.net/contest/295959#problem/I 或者 http://poj.org/problem?id=2762 题意:输入多组样例,输入n个点和m条有向边,问该图中任意两点x, y之间是否满足x可以到y或者y可以到x。 一开始WA的原因是因为没注 ...
分类:
编程语言 时间:
2019-04-23 17:21:10
阅读次数:
136
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3861 最小路径覆盖的一篇博客:https://blog.csdn.net/qq_39627843/article/details/82012572 题意: 把城市至少分成几个块,规则有三 1. A能B, ...
分类:
其他好文 时间:
2019-04-23 17:18:12
阅读次数:
155
"嘟嘟嘟" 最近把21天漏的给不上。 今天重温了一下2 SAT,感觉很简单。就是把所有条件都转化成如果……必然能导出……。然后就这样连边建图,这样一个强连通分量中的所有点必然都是真或者假。从而根据这个点拆点后的两个点是否在一个强连通分量里判断是否有解。 这题人很容易想到拆点:$i$表示$i$连向$s ...
分类:
其他好文 时间:
2019-04-20 15:41:11
阅读次数:
144
$ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ $强连通分量与拓扑排序 拓扑排序 $ \ \ \ \ \ \ $对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边(u,v)∈ ...
分类:
编程语言 时间:
2019-04-09 18:31:39
阅读次数:
158