随笔分类 -  学习笔记

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

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