算法
Key_LD
垫底一本的寝室蹲
展开
-
算法学习————LCA问题的Tarjan算法
这里要介绍的 求最近公共祖先的算法是 Tarjan 算法 算法的核心思想在于 我们从一棵树的根节点开始向下深搜 当我们回溯的时候 我们才把两个集合合并 并更新根节点 这就意味着 对于一个节点 我们只有访问过他的所有子节点和他本身之后才更新他的根节点 我再简单点说 这样操作就实现了从叶子节点不断向上更新根节点原创 2016-08-17 11:11:41 · 250 阅读 · 0 评论 -
算法学习——求割点与桥的tarjan算法 HDU4738
前天打周赛做到 HDU4738 绞尽脑汁都没想到用什么好的方法来解决这个问题 周赛结束之后跟Yasola和xcy讨论了一下居然用到 tarjan算法 exm??? tarjan不是用来求 lca的么???回去怒补了一发才知道 tarjan原来是一系列是算法 根据我看到的博客原文 可以这么说 tarjan是个天才 他伟大的一生创造了无数的算法 统称 tarjan算原创 2016-11-15 11:48:58 · 2328 阅读 · 1 评论 -
算法学习—— tarjan算法求强连通分量 (附带 hdu1827
tarjan算法的第三个应用 求强连通分量强连通分量我就不具体介绍了这次的关键数组含义仍然没变 low[u] 仍然还是 u 能到达的最小的 low[v] ( low[v] 又由它最小的 low[v'] 决定 这里有个很关键的点 low[u] == dfn[u] 若以 求割点与桥的tarjan理解 表示 u 的子树的结点中最早能返回到 u,不能访问到u的祖先,原创 2016-11-18 23:55:57 · 360 阅读 · 0 评论 -
算法学习———KM算法
KM算法 用于求二分图的最佳完美匹配 即权值最大的完美匹配 如果你也是个刚来学习KM算法的人 大概的用途肯定还是知道的吧 还是直接说重点吧 首先 理解KM算法前 必须有以下3个概念1.可行顶标 对于一个赋值二分图G(x,y,e,w) (x,y 代表二分图的两边顶点标号 e代表边 w代表边的权值 ) 我们对两边的每一个顶点原创 2016-08-11 10:22:39 · 3459 阅读 · 1 评论 -
关于背包九讲01背包中的常数优化
关于背包九讲01背包中的常数优化for i ← 1 to N for v ← V to Ci优化为for i ← 1 to N for v ← V to max (V−key, Ci )其中key=∑niCi\sum_{i}^n Ci这里的max优化就是考虑了这样一种情况: 即使后面(i…n)的所有物品都被装入背包后,剩余的空间仍然比 Ci 大我们知道空间优化后的一维数组中的状态转原创 2017-02-08 16:06:47 · 3996 阅读 · 1 评论