首先对于一个强联通分量内的所有牛来说,他们彼此都认为对方受欢迎,且对于这个强联通分量内的牛A来说,假设它认为不在这个强连通分量内的一头牛B是受欢迎的,那么这个强联通分量内的所有牛都认为牛B受欢迎。 我们用Tarjan算法求一遍SCC,把一个SCC缩成一个点,并添加连接不同SCC的边,注意这条边是一条 ...
分类:
其他好文 时间:
2018-04-01 21:49:59
阅读次数:
143
一,无向图的割点与桥 对于G=(V,E) 1.割点:xξV若删除x以及与x所连边后,图被分裂成为多个联通图,则x为图的割点 2.桥(割边):eξE若删除e后图,图被分裂成为多个联通图,则e为图的割点 怎样求割点与割边 tarjan算法 就是他了。。。 首先我们引入时间戳的概念 设dfsn[x]表示从 ...
分类:
编程语言 时间:
2018-03-30 16:18:46
阅读次数:
253
与割点唯一一点不同是low[v]>=dfn[u]变为low[v]>dfn[u] 代码如下: ...
分类:
编程语言 时间:
2018-03-29 13:29:38
阅读次数:
150
[Luogu 2341] HAOI2006 受欢迎的牛 "" 智能推的水题,一看是省选题就给做了,做一半才发现 Tarjan 算法忘干净了。 Tarjan 求出SCC,算出每一个 SCC 包含原图的点数(size)以及新图上的出度(out) 并不用建图,Tarjan 时记一下 SCC 编号和 siz ...
分类:
其他好文 时间:
2018-03-14 18:08:50
阅读次数:
138
【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 Tarjan算法强连通缩点 。 最后出度为0的点。 如果只有一个。 那么这个“大点”所包含的点的个数就是答案了。 【代码】 cpp / n个点,m条有向边. 把有向图G的环进行缩点; 缩完之后的图存在vector g[N]里面; ...
分类:
其他好文 时间:
2018-03-10 22:03:49
阅读次数:
180
LCA学习笔记 http://dongxicheng.org/structure/lca rmq/ http://blog.csdn.net/wendavidoi/article/details/50670052 dfs序 + st 树上倍增 Tarjan算法 题目 TBD 模板 TBD ...
分类:
其他好文 时间:
2018-03-05 23:41:36
阅读次数:
299
题面传送门: 传送门 思路: 看完题建模,容易得出是求单向图最长路径的问题 那么把这张图缩强联通分量,再在DAG上面DP即可 然而 这道题的建图实际上才是真正的考点 如果对于每一个点都直接连边到它所有的后继节点,那么可以被卡掉(1e5个点在同一行上) 考虑改变思路,运用网络流建图中的一个常用技巧:把 ...
分类:
其他好文 时间:
2018-02-19 16:40:06
阅读次数:
186
A: 石油采集 刚开始题目读错了,乱交了4发,然后终于读对题目,想用匈牙利算法跑2分匹配,但是比赛的时候不会跑,赛后学了一下,补了一下 1 #include<bits/stdc++.h> 2 using namespace std; 3 const int N = 55*55; 4 string s ...
分类:
编程语言 时间:
2018-02-12 21:43:37
阅读次数:
257
有错请大力指出【鞠躬】第一次写正经博客非常慌张 ——百度百科 LCA的四种算法: 记录dfs序转化为rmq问题 tarjan算法 倍增算法 树链剖分 一、记录dfs序转化为rmq问题 1.dfs序是什么? 其实本人对dfs序的定义也不怎么清晰……望告知orz 首先我们需要一颗树……比如说它长这样: ...
分类:
编程语言 时间:
2018-02-12 20:15:01
阅读次数:
162
原题链接 无向连通图中,如果删除某边后,图变成不连通,则称该边为桥。 也可以先用Tajan()进行dfs算出所有点 的low和dfn值,并记录dfs过程中每个 点的父节点;然后再把所有点遍历一遍, 看其low和dfn,满足dfn[ fa ]<low[ i ](0<i<=n, i 的 father为f ...
分类:
编程语言 时间:
2018-01-31 18:34:10
阅读次数:
379