随笔分类 - Tarjan
摘要:描述: 给定一个n个点m条边有向图,每个点有一个权值,求一条路径,使路径经过的点权值之和最大。你只需要求出这个权值和。 注:允许多次经过一条边或者一个点,但是,重复经过的点,权值只计算一次。 思路: tarjan 的模板之一——缩点。先利用 tarjan 出图中的强连通分量及大小(点的权值),然后遍
阅读全文
摘要:传送门 题目简单来说就是给一个有向图,将图转化为DAG图后,求图中最长链及最长链的个数。 思路: ①用 tarjan 缩点重构将原图转换为一个有向无环图,让后在新图上跑 topo 即可求出最长链。 ②最长链的个数可以用动态规划,设 e[ i ] 表示新图中以 i 为终点的方案数,那么 e[ i ]
阅读全文
摘要:传送门 思路: ①在 Tarjan 的基础上加一个 belong 记录每个点属于哪个强连通分量。 ②存图完成后,暴力地遍历全图,查找是否要间谍不愿受贿。 遍历完后,看看那个间谍没被搜索过(vis数组记录),就把那个不受贿的间谍抓出来。 ③如果所有的间谍都愿意受贿,就继续。可以开一个smon数组,记录
阅读全文
摘要:其实这道题蛮水的 思路: 根据题意,他说有环,自然想到要用tarjan,后面就很简单了; 缩完点之后重新建图,开一个inin数组表示该点的入度是多少(psps:该点表示缩完点之后的大点); 最后统计一下那个点没有入度就好了;
阅读全文
摘要:传送门 本题的标算是并查集查找连通块的个数,为了练习下Tarjan,就用Tranjan写一波; 思路:tarjan 观察题目,市政府“村村通工程”的目标是使全市任何两个城镇间都可以实现交通,表明图为多个联通块,因为是无向边,所以每个联通块一定是一个强连通分量(显然)。 那么问题就变成了 查找联通块,
阅读全文
摘要:伪代码: 模板: 输入格式: 第一行:n,m,分别为点数和边数(n<=100000) 接下来m行,每行两个整数x,y,表示从x到y有一条有向边 (1<=x,y<=n) 输出格式: 一个整数表示强连通分量的数量
阅读全文
摘要:题目描述 约翰的N (2 <= N <= 10,000)只奶牛非常兴奋,因为这是舞会之夜!她们穿上礼服和新鞋子,别 上鲜花,她们要表演圆舞. 只有奶牛才能表演这种圆舞.圆舞需要一些绳索和一个圆形的水池.奶牛们围在池边站好, 顺时针顺序由1到N编号.每只奶牛都面对水池,这样她就能看到其他的每一只奶牛.
阅读全文


浙公网安备 33010602011771号