随笔分类 - Tarjan算法
摘要:【链接】 "我是链接,点我呀:)" 【题意】 环里面的点只需要一个点就能全都保护 问你最少需要多少花费以及最少的点才能将所有的点都保护 【题解】 有向图的强连通分量求出所有的联通分量 显然每个联通分量里面只需选择最小那个点就好 如果有多个最小的点,那么这个环就有多个选择。 每个环的最小点个数连乘一下
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 Tarjan算法强连通缩点 。 最后出度为0的点。 如果只有一个。 那么这个“大点”所包含的点的个数就是答案了。 【代码】 cpp / n个点,m条有向边. 把有向图G的环进行缩点; 缩完之后的图存在vector g[N]里面;
阅读全文
摘要:【题目链接】:http://www.lydsy.com/JudgeOnline/problem.php?id=1023【题意】 【题解】 如果不考虑有环的情况; 那么有一个经典的求树的直径的方法; 首先; 树的直径的两端的端点必然都在树的叶子上(或在根节点,考虑一条链的情况); 则...
阅读全文
摘要:【链接】http://acm.hdu.edu.cn/showproblem.php?pid=6165【题意】一张有向图,n个点,m条边,保证没有重边和自环。询问任意两个点能否满足任何一方能够到达另外一方。【题解】用Tarjan算法,先把有向图的强连通分量缩成一个点,缩完点之后,剩下的就是一张有向无环...
阅读全文
摘要:【题目链接】:http://codeforces.com/contest/732/problem/F【题意】 给你一张无向图; n个点,m条边; 让你把这张图改成有向边 然后定义r[i]为每个点能够到达的其他点的数目; 让你使得最小的r[i]尽可能地大; 让你输出这个尽可能大的最小...
阅读全文