摘要: tarjan算法的步骤是(当dfs到节点u时):1 在并查集中建立仅有u的集合,设置该集合的祖先为u1 对u的每个孩子v: 1.1 tarjan之 1.2 合并v到父节点u的集合,确保集合的祖先是u2 设置u为已遍历3 处理关于u的查询,若查询(u,v)中的v已遍历过,则LCA(u,v)=v所在的集 阅读全文
posted @ 2017-07-25 23:32 GGBeng 阅读(334) 评论(0) 推荐(0) 编辑
摘要: 一、前人种树 博客:【研究总结】2-sat问题 二、沙场练兵 HDU1814 POJ3648 阅读全文
posted @ 2017-07-25 20:13 GGBeng 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 一、问题描述 最小费用最大流: 在最大流有多组解时,给每条边在附上一个单位费用的量,问在满足最大流时的最小费用是多少? 二、算法描述 思想: 给出一个容量网络,那他的最大流一定是一个定值(即使是有多个一样的最大值)。所以我们从开始的可行流开始增广时,最终的增广量是一定的。所以为了满足最小费用我们只需 阅读全文
posted @ 2017-07-25 19:59 GGBeng 阅读(812) 评论(0) 推荐(0) 编辑
摘要: 一、前人种树 博客:趣写算法系列——匈牙利算法 博客:二分图最大匹配 博客:二分图的最大匹配——匈牙利算法 二、题目讲解 博客:POJ1274:The Perfect Stall(二分图最大匹配 匈牙利算法) 阅读全文
posted @ 2017-07-25 18:25 GGBeng 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 一、前人种树 博客:Kosaraju算法解析: 求解图的强连通分量 阅读全文
posted @ 2017-07-25 18:21 GGBeng 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 一、相关定义 最短路径:求源点到某特定点的最短距离 特点:Bellman-Ford算法主要是针对有负权值的图,来判断该图中是否有负权回路或者存在最短路径的点 局限性:算法效率不高,不如SPFA算法 时间复杂度:O(mn) 【具体与dijkstra算法的比较】 Bellman-Ford算法为何需要循环 阅读全文
posted @ 2017-07-25 11:05 GGBeng 阅读(6161) 评论(0) 推荐(1) 编辑
摘要: 一、相关定义 最短路径:从图中的某个顶点出发到达另外一个顶点的所经过的边的权重和最小的一条路径。 地位:Dijkstra算法是很有代表性的最短路算法,在很多专业课程中都作为基本内容有详细的介绍,如数据结构、图论、运筹学等等。 缺陷:若有一个带负权回路的图(即一个不存在最短路径的图),Dijkstra 阅读全文
posted @ 2017-07-25 10:19 GGBeng 阅读(3511) 评论(0) 推荐(0) 编辑
摘要: 一、原文地址 博客:一步一步理解线段树 二、代码剖析 上述代码,if(istart == iend) 就是递归出口,此时若是正在构建左子树,那么会结束左子树的构造,接着执行递归构造右子树,直到碰到递归出口。 阅读全文
posted @ 2017-07-25 09:20 GGBeng 阅读(230) 评论(0) 推荐(0) 编辑