随笔分类 - 学习笔记
摘要:拉格朗日插值 学习笔记 前言 模拟赛考了,我不会,故学之。 真的好抽象…… 背景 众所周知,用 个点可以确定一个 次的多项式,那么应该如何确定呢? 我们不妨考虑这样一个题目(其实就是洛谷模板题):给定 个点 ,要求确定 。当
阅读全文
摘要:# 虚树 学习笔记 ## 引入 我们在解决树上问题时,往往都是对整棵树进行处理,或者每次询问都对一个点、点对进行处理,这类题型一般都可以通过 dp、树剖解决;然而,有一类问题要求我们每次对树上一些关键点进行处理。这类问题的特点就是询问次数多,而询问的点的总数不多。可如果我们每次都把整棵树都 dfs
阅读全文
摘要:# 从决策单调性到四边形不等式 今天上课浅学了一下,还是有点懵,于是就准备用这篇博文整理一下。 本篇文章主要讨论四边形不等式在有关 1D/1D 类问题中的应用,区间类暂不涉及。 参考:OI-Wiki ## 引入 我们为什么需要决策单调性? 我们之前常见的 dp 优化有很多,如单调队列,如斜率优化,如
阅读全文
摘要:# Link Cut Tree 这里推荐另一位大佬的博客,这篇博客对 LCT 进行了详细的讲解。[Link](https://www.cnblogs.com/Dfkuaid-210/p/LCT.html) 本篇博客仅用于个人学习记录,可能有的地方写的不够细致准确,还请谅解 uwu;如有谬误,欢迎指出
阅读全文
摘要:因为这个版本感觉特别清楚就写个博客保留一下( 可持久化数组,都说是个数组了,那很多用数组维护的东西就都可以可持久化了。可持久化并查集,其实就是用主席树代替了原来的 数组和 数组,别的都是并查集的操作。注意不能写路径压缩,只能按秩合并,因为一旦路径压缩就可能会涉及到多个修改,复杂
阅读全文
摘要:# dsu on tree 学习笔记 ## 引入 dsu 是并查集的缩写,然鹅本算法和并查集没啥关系。当然,dsu on tree 也有中文名字:树上启发式合并。也就是说,这个算法是用于处理一些树上信息的合并的。 dsu on tree 和莫队一样,都是优雅的暴力。优雅是因为思想很优雅,暴力是因为所
阅读全文
摘要:# 莫队 学习笔记 ## 引入 莫队算法是一种优美的暴力算法,可以用来处理大量的区间询问。前提是,维护的信息可以高效地插入、删除。 我们就以一道题为例,来初探莫队:[洛谷P3901 数列找不同](https://www.luogu.com.cn/problem/P3901) 题意:给定一个数列,$q
阅读全文
摘要:# 李超线段树 学习笔记 今天模拟赛用到了李超线段树(但是本蒟蒻费了半天劲搞了个斜率优化拿到了 60pts 的好成绩 /kk),所以学习一下李超线段树刻不容缓(学会了我貌似也切不来那道题 qwq)。 ## 引入 初中和高中我们都做过函数题吧,是不是有时候给你两根甚至几根直线,然后问你某个点的最值?当
阅读全文
摘要:# 斜率优化dp 学习笔记 ## 引入 首先,我们考虑一种更简单的dp优化——单调队列优化。 比如,一个dp式形如: 我们发现,这个式子可以通过拆分(wgj:分离变量),变形成如下式子: $$dp_
阅读全文
摘要:单调队列的应用很常见,比如用于dp优化,以及滑动窗口问题等。 其思想也比较简单易懂。我们以求区间最大值的单调队列为例。 具体的来讲,我们让队头始终是最大的元素。为了保证数都在区间内,我们记录一个 数组。该数组表示某个元素加入的时间。我们每次将新元素(设为 )入队时,先将队头超时的元素弹
阅读全文
摘要:这一算法用于求最长回文子串。 思想上和 KMP 类似,都是利用已求出的部分去减少不必要的枚举。 我们设 表示以 为中心的最长回文子串长度。假设现在有一个以 为中心的回文子串,其右边界为 ,现在需要去求 点右侧一点 所对应的 ,我们设 $d
阅读全文
摘要:# 状态压缩中枚举子集 #### 前言 在状态压缩中,有时会遇到集合间转移的题目,而如何找到某个集合的所有子集,成为了解决问题的关键。 #### 正文 首先,对于一个集合 ,我们可以通过它转换为二进制数后的 和 来表示一些元素的状态。如:选择和未选,经过与未经过。下文的集合均指
阅读全文
摘要:[TOC] ## 一.KMP ### 引入 我们经常遇到字符串匹配问题。比如求一个长为 的串 在长度为 的串 中是否出现,或求出现多少次,等等。我们很容易想到 的做法,就是以每一位为起点,一直向后匹配,直到失配或匹配成功。显然,这样的复杂度是无法接受的。
阅读全文
摘要:引入:堆是一种很常用的数据结构,可以在 的复杂度内进行插入,以维护最大/最小值。但是,如果我们将两个堆合并,即使是启发式合并,时间复杂度也高达 ,而这是我们所不想看到的。那么,有没有一种更好的解决方案呢
阅读全文