传送门 好好读题 读懂了题后就不难了 可以发现和强联通分量的定义有点像 强连通的要求:对于任意两点u,v都存在一条路径使得 u->v 并且 v->u 而半联通的要求:对于任意两点u,v都存在一条路径使得 u->v 或者 v->u 那么显然一个强联通分量肯定属于半联通子图 那先考虑缩点,看看缩点后的情 ...
分类:
其他好文 时间:
2018-09-27 14:17:11
阅读次数:
152
Every cow's dream is to become the most popular cow in the herd. In a herd of N (1 <= N <= 10,000) cows, you are given up to M (1 <= M <= 50,000) orde ...
分类:
其他好文 时间:
2018-09-25 17:26:29
阅读次数:
188
P3627 [APIO2009]抢掠计划 Tarjan缩点+最短(最长)路 显然的缩点...... 在缩点时,顺便维护每个强连通分量的总权值 缩完点按照惯例建个新图 然后跑一遍spfa最长路,枚举每个有酒吧的点即可 (但是我为什么会搞dp呢.......) dp:81pts (这么显然的最长路,为什 ...
这里给出一个dalao炒鸡详细的解释: https://www.cnblogs.com/stxy-ferryman/p/7779347.html#4073877 Tarjan算法 void Tarjan(int u) { dfn[u]=low[u]=++num; st[++top]=u;//入栈 v ...
分类:
其他好文 时间:
2018-09-21 21:14:58
阅读次数:
290
问题 p: 杀人游戏 题目描述 一位冷血的杀手潜入 Na-wiat,并假装成平民。警察希望能在 N 个人里面,查出谁是杀手。警察能够对每一个人进行查证,假如查证的对象是平民,他会告诉警察,他认识的人, 谁是杀手, 谁是平民。 假如查证的对象是杀手, 杀手将会把警察干掉。现在警察掌握了每一个人认识谁。 ...
分类:
其他好文 时间:
2018-09-20 01:04:22
阅读次数:
191
传送门 这道题一开始可能以为是二分图匹配……?不过后来发现和二分图没啥大关系。 简单分析之后发现,把夫妻之间连边(男性向女性连边),之后再将每对曾经是情侣的人连边(女性向男性连边),当然以上的方向可以反过来不过两次连接方向必须相反。这样的话如果婚姻是危险的那么这些就是在一个强连通分量里面的。换句话说 ...
分类:
其他好文 时间:
2018-09-18 22:58:49
阅读次数:
205
刚做了两道tarjan缩点的题,新学的算法总结一下。 推荐题:(难度单调递增) [HAOI2006]受欢迎的牛 [USACO5.3]校园网Network of Schools 间谍网络 [APIO2009]抢掠计划 这里不教tarjan,要学的找别的博客吧。 总结:tarjan 简单来说 算法过程 ...
分类:
其他好文 时间:
2018-09-17 20:32:11
阅读次数:
192
先简单叙述一下tarjan算法的执行过程(其他诸如伪代码之类的相关细节可以自己网上搜索,这里就不重复贴出了): 用到两类数组: dfs[]:DFS过程中给定节点的深度优先数,即该节点在DFS中被访问的次序 low[]:从给定节点回溯时,节点的low值为从节点在DFS树中的子树中的节点可以回溯到的栈中 ...
分类:
编程语言 时间:
2018-09-16 19:47:16
阅读次数:
169
题意: 问至少加几条边 能使点s可以到达所有的点 解析: 无向图的连通分量意义就是 在这个连通分量里 没两个点之间至少有一条可以相互到达的路径 所以 我们符合这种关系的点放在一起, 由s向这些点的任意一个连边即可 即为求除s所在的连通分量以外的 入度为0的连通分量 ...
有向图强连通分量算法,包括Kosaraju算法,Tarjin算法,Gabow算法,本文介绍Kosaraju算法。 Kosaraju算法需要对图进行两遍dfs。 step1:对原图G进行深度优先遍历,记录每个节点的离开时间(后序遍历,将点压栈)。 step2:选择具有最晚离开时间的顶点(出栈),对逆图 ...
分类:
其他好文 时间:
2018-09-15 22:00:22
阅读次数:
163