摘要: by GeneralLiu NOIP2008 双栈排序 题目大意 给出一个1~n的排列 能否通过两个栈的出栈进栈操作 完成从大到小排序 如果不能 输出 0 能就 输出字典序最小的操作方案 (题目要求详情见洛谷链接 没错,就是上面那个) 假设现在你已经了解 题目的要求 以及细节 那我就在博客 try 阅读全文
posted @ 2017-05-09 08:33 GeneralLiu 阅读(556) 评论(0) 推荐(1) 编辑
摘要: by GeneralLiu 染色法 非常容易写 先记录边 遍历节点 如果没有深搜过 那深搜它就是了 并染色 染为 1 和 -1 如果染色冲突 则 return false 最后 return true 代码 #include<iostream> #include<cstdio> #include<c 阅读全文
posted @ 2017-05-08 19:03 GeneralLiu 阅读(169) 评论(0) 推荐(0) 编辑
摘要: by GeneralLiu tarjan 求 割点 割边 无向图 的 割点 割边: 对于无向连通图来说, 如果删除 一个点以及与它相连的边 之后, 使得这个图不连通, 那么该点为割点 ; 如果删除 一条边 之后 , 使得这个图不连通, 那么该边为割边 ; 对于无向连通图来说, 如果删除 一个点以及与 阅读全文
posted @ 2017-05-08 15:18 GeneralLiu 阅读(274) 评论(0) 推荐(1) 编辑
摘要: by GeneralLiu 一 开 始 学 tarjan 的 强连通分量 , 割边 , 割点 时 没有 学扎实 经过培训 ,发现了些 需要注意的 小细节 举个荔枝 dfs树 上的 边 学了 tarjan 的 应该有所体会 tarjian 算法 是基于 原图 的 dfs树 上的 下面就介绍一下我从此 阅读全文
posted @ 2017-05-08 11:41 GeneralLiu 阅读(1232) 评论(0) 推荐(1) 编辑
摘要: 算法学自 BYVoid https://www.byvoid.com/zhs/blog/scc-tarjan/ 这个写得很清楚了 当然 你可能不这么认为 而且 如果是让我 一开始就从这个博客 学 tarjan 缩点 估计我也会觉得 很难懂 我猜是 博客看多了 有了些基础 在看这一篇的时候懂了 就觉得 阅读全文
posted @ 2017-05-07 15:30 GeneralLiu 阅读(471) 评论(1) 推荐(4) 编辑
摘要: GeneralLiu 最短路 什么意思呢 其实就是字面意思喽 解法多样 就只介绍 SPFA 了 每次 用一个 "有意义" 的点 更新与之相连点 的 dis 值 (至于 dis[]数组 dis[i] 表示 源点 到 i 的最短 距离 , dis初始化无穷大) 每次 "有意义" 的更新 就把 被更新点 阅读全文
posted @ 2017-05-06 20:35 GeneralLiu 阅读(196) 评论(0) 推荐(0) 编辑
摘要: GeneralLiu 最小生成树 就是在一个 n 个点的连通图里 取 n-1 条边 使 n 个点 连通 并且 这 n-1 条边 的和 最小 如 红边 是 最小生成树 最小生成树 主要就是通过 下面的两种方法 Prim算法 和 Kruskal算法 来解决 然后 这两种算法 采用的思路 不同 但是 到达 阅读全文
posted @ 2017-05-06 16:17 GeneralLiu 阅读(375) 评论(0) 推荐(0) 编辑
摘要: GeneralLiu 橙边为轻边 红边为重边 绿数为每个点的 top 橙数为每个点的编号 步骤 1 先预处理 每个点的 deep深度 size子树大小 dad父节点 2 再预处理 每个点的 top重链顶点 3 就是跳了 应用 洛谷 P2912 [USACO08OCT] 牧场散步 效率蛮高的 此题中用 阅读全文
posted @ 2017-05-05 15:40 GeneralLiu 阅读(1391) 评论(0) 推荐(2) 编辑
摘要: GeneralLiu 一种离线求最近公共祖先方法 “离线 即在有好多询问情况下 记录所有询问 一起处理,一起回答 相对的 在线 即在有好多询问情况下 每询问一次 处理一次,回答一次 ” 涉及并查集 这个博客,tarjan 写的很详细 步骤 1 从根开始 tarjan (或者说dfs) 2 每dfs到 阅读全文
posted @ 2017-05-05 15:32 GeneralLiu 阅读(268) 评论(0) 推荐(3) 编辑
摘要: GeneralLiu 近似二分思想 询问 x,y的 lca 设y更深 "假设有一个 dad[][] 数组 dad[x][j] 表示 x 的 2^j 级 祖先 例如 dad[x][0] 是 x 的 baba dad[x][1] 是 x 的 yeye (baba 的 baba) dad[x][2] 是 阅读全文
posted @ 2017-05-05 15:09 GeneralLiu 阅读(196) 评论(0) 推荐(2) 编辑