随笔分类 -  图论

摘要:割点 就是记录两个数组:dfn[]和low[] 其中dfn[]表示访问的顺序,low[u]用来存储 u 不经过其父亲能到达的最小时间戳。。。 搬一下 wiki 的图。。。 我们发现 low[v]dfn[u] 可以表示不能回到祖先,则 u 点位割点。。。 直接上代码P3 阅读全文
posted @ 2024-10-18 21:09 tyccyt 阅读(8) 评论(0) 推荐(0) 编辑
摘要:用途 解决一些在带权图中,最多 k 次优惠一条边权 基本步骤 分成 k+1 层,从 0 好开始,每层图与原图一样。其中第 i 层图是用了 i 次优惠到达的图。 对于所有边,若在第 i 层图中,那么就新连一条边从 u 指向第 n+1 层图 阅读全文
posted @ 2024-09-01 21:11 tyccyt 阅读(7) 评论(0) 推荐(0) 编辑
摘要:深搜 inline void dfs(int x) { dfs(); } 广搜 inline void bfs() { queue<int> q; q.push(···) while(!q.empty()) { ··· } } 记忆化搜索 其实就是记录了每一种状态的最优值,达到玄学剪枝效果。。。 例 阅读全文
posted @ 2024-09-01 15:30 tyccyt 阅读(19) 评论(1) 推荐(1) 编辑
摘要:本文是wiki与这篇题解的整合 定义 二分图,又称二部图,英文名叫 Bipartite graph。 二分图是什么?节点由两个集合组成,且两个集合内部没有边的图。 换言之,存在一种方案,将节点划分成满足以上性质的两个集合。 性质 如果两个集合中的点分别染成黑色和白色,可以发现二分图中的每一条边都一定 阅读全文
posted @ 2024-08-25 13:38 tyccyt 阅读(128) 评论(0) 推荐(0) 编辑
摘要:重链剖分 用途 路径上维护 子树维护 求最近公共祖先(LCA) 重剖的性质: 树上每个节点都属于且仅属于一条重链。 在剖分时 重边优先遍历,最后树的 DFS 序上,重链内的 DFS 序是连续的。按 DFN 排序后的序列即为剖分后的链。 定义 重儿子:对于每一个非叶子节点,它的儿子中以那个儿子为根的子 阅读全文
posted @ 2024-08-20 16:20 tyccyt 阅读(15) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示