摘要: 普通生成函数学习笔记 定义 已知一个序列 \(a\),可以是有限项也可以是无限项,定义其生成函数 \(F(x)\) 为 \[F(x)=\sum a_ix^i \]作用 生成函数本质是一个多项式,所以可以进行多项式卷积,方便处理序列问题。假设序列 \(a\) 的生成函数是 \(F(x)\),序列 \( 阅读全文
posted @ 2024-07-06 13:29 DycIsMyName 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 二项式反演学习笔记 概念 二项式反演作为一种反演形式,常用于通过指定若干个求解恰好若干个的问题,即我们常说的容斥问题。 引入 首先讲讲朴素容斥。 作为集合来说,有 \[|A\cup B|=|A|+|B|-|A\cap B| \]这其实就是容斥原理。更一般地,有 \[|A_1\cup A_2\cup\ 阅读全文
posted @ 2024-07-05 17:07 DycIsMyName 阅读(7) 评论(0) 推荐(0) 编辑
摘要: \(\text{FFT}\) 学习笔记 建议先学习普通生成函数。 多项式 确定一个多项式,往往只需要知道每一次项前的系数是多少即可。众所周知,一个朴素的多项式往往可以被写成 \[f(x)=\sum_{n\ge 0}a_nx^n \]的形式,在这种形式下的两个多项式 \(f,g\) 的乘积 \(h\) 阅读全文
posted @ 2024-07-02 19:14 DycIsMyName 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 原根学习笔记 原根 这是一个又臭又长的内容。 拉格朗日定理:设 \(p\) 为素数,对于模 \(p\) 意义下的整系数多项式 \[f(x)=a_nx^n+a_{n-1}x^{n-1}+\cdots+a_0(p\nmid a_n) \]的同余方程 \(f(x)\equiv 0\pmod p\) 在模 阅读全文
posted @ 2024-07-02 19:13 DycIsMyName 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 替罪羊树学习笔记 史! 思想 众所周知,替罪羊树是一种平衡二叉搜索树,其拥有虽然我不理解为什么,但是很牛的复杂度。其思想在于通过一个系数进行定期重构,使得维护所有信息的树是一棵接近平衡树的伪平衡树,那么他依然拥有 \(O(\log n)\) 级别的层高,因此对于跳转查询依旧具有优异的复杂度。 但是, 阅读全文
posted @ 2024-06-08 19:25 DycIsMyName 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 矩阵树定理学习笔记 真的,我这辈子都没有想过行列式还能用到这种地方。 定义 图的关联矩阵 对于一张有 \(n\) 个点、\(m\) 条边的图(对于无向图,可以随便定义边的方向,因为相反的边只需要将对应列乘以 \(-1\) 即可),我们定义其关联矩阵 \(M\) 满足: \[M_{i,j}=\left 阅读全文
posted @ 2024-05-29 21:19 DycIsMyName 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 高斯消元学习笔记 其实这个主题能够复活主要还是粘了 \(\text{LGV}\) 引理的光,不然我还不知道高斯消元其实不光能求解线性方程组。 求解线性方程组 这个只能说是典中典了,我不相信没有一个人的高斯消元不是从这里开始的。 我们考虑求解线性方程组的本质:将每一个式子所有未知数前都有系数转化成每一 阅读全文
posted @ 2024-05-26 17:12 DycIsMyName 阅读(7) 评论(0) 推荐(1) 编辑
摘要: \(\text{LGV}\) 引理学习笔记 \(\text{LGV}\) 引理一般用于求解有向无环图中多条不相交路径的方案数,引理内容如下。 引理 定义 \(w(P)\) 指的是路径 \(P\) 上所有边权的乘积(在路径计数问题中认为所有边权均为 \(1\) 即可),\(e(A,B)\) 指的是 \ 阅读全文
posted @ 2024-05-26 14:52 DycIsMyName 阅读(38) 评论(1) 推荐(2) 编辑
摘要: \(\text{K-D tree}\) 学习笔记 \(\text{K-D tree}\) 是一种针对 \(k\) 维问题求解的算法,并且拥有出色的时空复杂度。 思想 \(\text{K-D tree}\) 本质上是一棵 \(k\) 维的二叉平衡树,这保证了其树高稳定在 \(\log n\) 附近,为 阅读全文
posted @ 2024-05-23 21:40 DycIsMyName 阅读(53) 评论(0) 推荐(2) 编辑
摘要: 线段树综合 自从模拟赛出现一道勾石线段树题目开始,命运的齿轮就开始转动。 线段树分裂 之前学过线段树合并,现在又要学线段树分裂了 \(\text{qwq}\)。 线段树分裂意在将线段树维护的信息拆成多个区间进行维护。不难发现,如果直接重新建树是 \(O(n\log n)\) 的,而线段树分裂能够做到 阅读全文
posted @ 2024-05-09 17:12 DycIsMyName 阅读(23) 评论(0) 推荐(1) 编辑