随笔分类 - 学习笔记
摘要:Manacher 算法 回文自动机(PAM) 后缀数组(SA) 后缀树 后缀自动机(SAM) 广义后缀自动机(广义SAM)
阅读全文
摘要:基本概念 字符串哈希 字典树(trie) KMP 扩展KMP(Z函数) AC自动机
阅读全文
摘要:图的连通性 强连通分量 割点 缩点 例题一 边双连通分量 点双连通分量 2-SAT 例题二 例题三 欧拉回路 例题四
阅读全文
摘要:二分图 定义 如果你能把一个图划分成两个集合,集合内部的点没有边相连接,那么这个图就是一个二分图,如图就是一个二分图: 交错路:从一个没有被匹配的点出发,依次走非匹配边,匹配边,非匹配边 …… 最后到达另外一部点当中某个没有被匹配的点的路径。 增广路:从一个没有被匹配的点出发,依次走非匹配边,匹配边
阅读全文
摘要:一、最大公约数 定义 不全为 的整数 的最大公约数是指能够同时整除 和 的最大整数。 欧几里得算法(gcd) gcd是用来求解两个整数的最大公约数 定理1.2.1 对于整数 ,若 \(c \mid a,c \mid b
阅读全文
摘要:基本概念 动态规划是一种非常常见的算法,它将大问题划分为与它一样但数据规模更小的小问题,而大问题的的最优解决方案又来自于小问题的最优解决方案。简称为 DP (Dynamic Programming) 动态规划优于暴力枚举的原因是它对于每一个问题,不是从头开始解决,而是基于之前解决的规模更小问题计算得
阅读全文
摘要:向量 定义 从偏计算机的角度分析,这是排成一列的数。 从偏物理的角度分析,这是一条有方向有长度的线段。 可以通过数形结合的方式来理解向量。 向量的表示法: 虽然向量的起点不固定,但画平面直角坐标系中的向量,我们一般将向量的起点放在 ,用向量的终点表示这个向量,如图: 这个向量可以
阅读全文
摘要:二叉搜索树 众所周知,一个区间可以有许多信息(最大值、 大值、区间和、区间平方和、区间立方和、区间异或和、区间 、不同数字个数、颜色段数……),也有许多修改方式(插入、删除、区间加、区间乘、区间改、区间翻转……),我们发现其中一些用线段树不是很好维护,这时我们可能会用到平衡
阅读全文
摘要:线段树优化建图 算法流程 复杂度分析 例题 点击查看代码 #include<bits/stdc++.h> using namespace std; #define int long long const int N = 5e5, M = 5e6 + 9; struct Edge{ int v, w,
阅读全文
摘要:声明:在本节范围内,所有同余号(多项式运算)均在 意义下进行;所有等号(代数运算)均在模某个质数 意义下进行。 暴力多项式计算 加法 ,求 解:类比高精度加法 \(h_i = f_i + g_
阅读全文