合集-算法学习笔记

摘要:### 题目链接:https://www.acwing.com/problem/content/897/ ## 讲解 动态规划问题具有三个特质: * 子问题重叠: 即子问题是相互之间依赖的 这个子问题在之后可能被反复使用 (此条件并非必要条件 但失去它也就没有优化作用了) * 最优化原理: 此问题可 阅读全文
posted @ 2023-07-05 11:32 hhhhhua 阅读(81) 评论(0) 推荐(0) 编辑
摘要:逻辑理解: 把xi<=xj+c 看成j>i花费wc 的边(边的定义) 那么此时在满足所有限制的情况下求最短路就能满足此性质。 (满足所有限制就是从超级原点出发 遍历所有边) 求一遍最短路。 如何判断无解呢? 有负环就等价于无解。 有负环就无解。无解一定是\ 阅读全文
posted @ 2024-02-20 15:09 hhhhhua 阅读(26) 评论(0) 推荐(0) 编辑
摘要:Prim: 证明:(人话): 在这个图中 假设当前距离集合最短边是u>v, 那么假设它不在任意一棵最小生成树中 那么 在最小生成树中,u>v必然存在其他边相连,并且在这之中,一定存在从集合到外的一条边(横跨切割的边)x>y,(因为u,v不在一个集合中,如果不 阅读全文
posted @ 2024-02-23 14:01 hhhhhua 阅读(38) 评论(0) 推荐(0) 编辑
摘要:本人被KMP已经折磨许久。五战KMP。方知之前理解确实浅。故写此篇。 这是之前那篇,实在是太浅,不过对代码做了注释。https://www.acwing.com/solution/content/131255/ 本篇重点说明KMP的原理,而非过程。过程相信其他博客已经写的十分完善了。 阅读全文
posted @ 2024-05-04 19:43 hhhhhua 阅读(19) 评论(0) 推荐(0) 编辑
摘要:树链剖分: 可以把路径分割成logn个区间。 概念: 重/轻儿子:当前节点的子节点中子树最大的子结点称为该节点的 重儿子,其余都为 轻儿子 重/轻边:当前节点到 重儿子 的边称为 重边,到 轻儿子 的边称为 轻边 重链:由 重边 构成的 极大路径 ->区间问题好解决,考虑序列化,链不就变成区 阅读全文
posted @ 2024-06-22 17:55 hhhhhua 阅读(22) 评论(0) 推荐(1) 编辑
摘要:dfs序 以DFS(先根遍历)⾸次访问顺序将节点重新排列。 特征: 每个顶点在序列中出现恰好⼀次(废话) ⽗节点排在⼦节点前⾯(废话) 每棵⼦树都占据序列的⼀个区间 欧拉序 记录DFS递归/回溯时依次经过的所有点。 特征: 每个点出现次数=度数(根多1次) 相邻点深度差1 \ 阅读全文
posted @ 2024-06-22 14:20 hhhhhua 阅读(42) 评论(0) 推荐(1) 编辑
摘要:求SCC。 dfs一次。回溯序找出来。 回溯序从大到小,开始dfs遍历,所有遍历到的点组成SCC。 这里浅证: 这么干是为了避免dfs重复。这样可以直接标记了。 阅读全文
posted @ 2024-07-11 11:11 hhhhhua 阅读(3) 评论(0) 推荐(0) 编辑

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