摘要: 1 单源最短路径 1.1 dijkstra 使用“堆优化的”dijkstra 算法,每次对刚刚加入的点进行一次拓展,然后找出 dis 里面最大的一个。 过程:重复这些操作: 从 $S$ 集合中,选取一个最短路长度最小的结点,移到 $T$ 集合中。 对那些刚刚被加入 $T$ 集合的结点的所有出边执行松 阅读全文
posted @ 2022-07-18 10:22 OIer某罗 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 1.1 set 的用法 std::set 是一棵平衡树。学习了平衡树之后,理应清楚 STL 库里这小巧玲珑的平衡树是怎么使用的。 平衡树的内部是一颗红黑树,我们不能直接用 random-access iterator 查找它的有关标号元素,但是我们可以像操作平衡树一样对它进行一些操作。 先介绍一个常 阅读全文
posted @ 2022-07-18 09:36 OIer某罗 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 假设有 $n$ 个区间,考虑将值域离散化,使其与 $n$ 同阶。 CF1701D 给定一些区间,给它们分别赋上区间内一个值,使得这些值不重复。 对区间右端点排序,遍历一遍,每次赋值尽量靠近左端点的值。 时间复杂度 $O(n \log n)$。 ZOJ2667 有若干个带权值区间,选定几个区间,使得它 阅读全文
posted @ 2022-07-15 10:25 OIer某罗 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 找个时间回顾一下。 P7914 括号序列 https://www.luogu.com.cn/problem/P7914 P8003 Hard Brackets Inserting https://www.luogu.com.cn/problem/solution/P8003 CF1709C 题意:给 阅读全文
posted @ 2022-07-12 16:34 OIer某罗 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 倍增法求LCA 讲解见此:https://www.luogu.com.cn/blog/morslin/solution-p3379 P3379 #include<bits/stdc++.h> using namespace std; #define f(i, a, b) for(int i = (a 阅读全文
posted @ 2022-07-11 16:59 OIer某罗 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 欧几里得距离:$\sqrt{(x_1-x_2)^2+(y_1-y_2)^2}$ 曼哈顿距离:$|x_1-x_2|+|y_1-y_2|$ 切比雪夫距离:$\max(|x_1-x_2|,|y_1-y_2|)$ 常见套路:将二维坐标系上 $(x,y) \rightarrow (x+y,x-y)$,原来任意 阅读全文
posted @ 2022-07-11 10:07 OIer某罗 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 换根DP,又叫二次扫描。第一次扫描求出 $dp[1]$ 和其他要用的东西(比如节点深度等等)第二次扫描每次根据父节点的 $dp$ 值推出子节点的。 以 $1$ 为根,转移的时候画图看看需要的东西(比如以 $k$ 为根,$k$ 的子节点的某个特征值)能不能从以 $1$ 为根的某个东西推导而来。 P34 阅读全文
posted @ 2022-07-10 11:50 OIer某罗 阅读(83) 评论(0) 推荐(0) 编辑
摘要: $s$ (长串)叫文本串,$t$(短串)叫模式串。 $next_i$:在 $p$ 中以 $p[i]$ 结尾的后缀能够匹配的从 $0$ 开始非平凡前缀的最大长度。 为什么这样做?考虑尝试的时候有顺序地做,只有这个顺序有道理。 P3375 这里字符串以 $0$ 开始。注意 $next_i$ 实际上是字符 阅读全文
posted @ 2022-07-09 23:04 OIer某罗 阅读(29) 评论(0) 推荐(0) 编辑
摘要: update:NOI考树哈希了。到底什么树哈希是真的啊。 树哈希是判定树同构的方法。两棵树如果在重新对每个节点赋一个编号之后等价,那么就称这两棵树同构。 我们的思路是:先将树变为有根的,然后从根往下遍历回溯,并求出一个节点所有子树的哈希值。如果两棵子树的哈希值相同,当且仅当这两棵子树同构。然后合并到 阅读全文
posted @ 2022-07-08 16:07 OIer某罗 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 也叫尺取法,当两个变量的关系是当 $i$ 变量增大时 $j$ 变量只可能往一个方向走,那么我们就可以使用尺取法将 $i,j$ 变量都只走一次,将 $O(n^2)$ 优化到 $O(n)$。(这是在插入删除操作都 $O(1)$ 的情况下。如果 $O(n)$ 另当别论(埋坑:不带删的尺取) 一般二分法也可 阅读全文
posted @ 2022-07-08 10:37 OIer某罗 阅读(16) 评论(0) 推荐(0) 编辑