随笔分类 -  算法

摘要:0. 问题引入 给出一张有 \(n\) 的点无向图 \(G\)(可以存在重边、自环),求它的生成树个数。 \(n\le300\),答案对大质数取模。 当遇到需要对一张图的所有生成树中的信息进行统计时,没有十分好的入手角度,需要 Matrix-Tree 树定理进行辅助。 1. 行列式引入 1.1 行列 阅读全文
posted @ 2024-02-03 10:41 SError 阅读(92) 评论(1) 推荐(0)
摘要:\(\mathrm{manacher}\) 算法可以在线性时间内求出一个串中的最长回文子串。 为了解决偶回文串的中心点非整数,在每个字符之间添加一个字符 #。 为防止越界问题再在串的前后加上奇怪的符号。 记 \(mx\) 为当前最长回文串的右端,\(id\) 为串中心的位置,\(len_{id}\) 阅读全文
posted @ 2023-11-14 15:33 SError 阅读(22) 评论(0) 推荐(0)
摘要:匈牙利算法寻找的增广路是有向的,其中匹配边的方向唯一,故匈牙利算法适配二分图的匹配。 对于存在奇环的一般图,匹配边在增广路中的方向不唯一,不符合匈牙利算法中 “一个点不能被访问两次” 的限制,故一般图最大匹配不能使用匈牙利算法。 #### 带花树算法 一般图与二分图区别在于奇环的有无,对于一个大小为 阅读全文
posted @ 2023-08-28 21:50 SError 阅读(157) 评论(0) 推荐(0)
摘要:定义 设二维平面中的两点 \(A(x_1,y_1)\),\(B(x_2,y_2)\),定义它们之间的切比雪夫距离为 \[d(A,B)=\max\{|x_1-x_2|,|y_1-y_2|\} \]切比雪夫距离与曼哈顿距离 思考一下两者的联系。 \(A\) 和 \(B\) 的曼哈顿距离: \[d(A,B 阅读全文
posted @ 2023-08-23 22:07 SError 阅读(345) 评论(0) 推荐(2)
摘要:FWT 用于解决对下标进行位运算的卷积问题。 及求 \(\displaystyle c_i=\sum_{j\oplus k=i}a_jb_k\),其中 \(\oplus\) 是二元位运算的一种。 板子 P4717 【模板】快速莫比乌斯/沃尔什变换 (FMT/FWT) 对 \(\oplus=\oper 阅读全文
posted @ 2023-08-21 16:41 SError 阅读(61) 评论(0) 推荐(0)
摘要:构建 在将图变为树的方法里,圆方树与 v-dcc 类似。 圆方树中,原来的每个点对应一个 圆点,每个点双对应一个 方点。 故圆方树的节点数为 \(n+c\),其中 \(n=|V|\),\(c=|\text{v-dcc}|\). 对于每个点双,其方点向这个点双里的每个点连边,形成一个菊花图,多个菊花图 阅读全文
posted @ 2023-08-11 16:36 SError 阅读(52) 评论(0) 推荐(0)
摘要:### KMP 下标从 $1$ 开始求 border: ```cpp int kmp[N]; void KMP(char *s,int len){ for(int i=2,j=0;ir)l=i,r=i+z[i]-1; } } ``` [P5410 【模板】扩展 KMP(Z 函数)](https:// 阅读全文
posted @ 2023-08-06 20:20 SError 阅读(37) 评论(0) 推荐(0)
摘要:定义 字符串 \(s\) 的 SAM 是一个接受 \(s\) 的所有后缀的最小 DFA(确定性有限(状态)自动机)。也就是: SAM 是一个 DAG。节点为状态,边为转移。 图的源点 \(t_0\) 称初始状态。整张图从 \(t_0\) 开始可以遍历到。 转移标有若干字母,从一个节点出发的所有转移均 阅读全文
posted @ 2023-08-06 20:16 SError 阅读(39) 评论(0) 推荐(1)
摘要:群 群是由一个集合及一个二元运算组成的代数结构,记为 \((G,\cdot)\). 其符合群公理,即满足封闭性,结合律,单位元,逆元。 子群 群 \((G,\cdot),(H,\cdot)\),满足 \(H\subseteq G\),则 \((H,\cdot)\) 是 \((G,\cdot)\) 的 阅读全文
posted @ 2023-08-06 20:16 SError 阅读(72) 评论(0) 推荐(0)
摘要:## SA ### 基数排序 一般采用 LSD(Least Significant Digital),从键值的最低位开始排序。 ### 定义 记 $suf(i)$ 为起始下标为 $i$ 的后缀。 记 $sa[i]$ 为排名第 $i$ 的后缀的起始位置。 记 $rk[i]$ 为 $suf(i)$ 的排 阅读全文
posted @ 2023-08-06 20:09 SError 阅读(20) 评论(0) 推荐(0)
摘要:模拟退火(Simulate Anneal)是一种用于解决问题方案数极大且非单峰函数的随机化算法,原理与金属退火类似。 每次随机出一个新解,若新解更优则接受,否则以一个与温度和与最优解的差相关的概率接受它。 ### 降温 模拟退火有三个参数:初始温度 $T_0$,降温系数 $\Delta$,终止温度 阅读全文
posted @ 2023-08-06 20:09 SError 阅读(255) 评论(0) 推荐(0)
摘要:Tree \(\rightarrow\) Prufer 每次找到编号最小的叶子结点,在序列中添加其父亲。 删除该节点。 重复如上操作,得到长为 \(n-2\) 的序列。 还原同理。 Prufer 序列是 \(n\) 个点的完全图的生成树与一个长为 \(n-2\),值域 \(\lbrack 1,n\r 阅读全文
posted @ 2023-08-06 20:09 SError 阅读(43) 评论(0) 推荐(0)
摘要:Definition 第二类斯特林数 \(\begin{Bmatrix}n\\k\end{Bmatrix}\),意义为将 \(n\) 个不同的元素分为 \(k\) 个非空子集的方案数。 有 \(\displaystyle\begin{Bmatrix}n\\k\end{Bmatrix}=\begin{ 阅读全文
posted @ 2023-08-06 20:07 SError 阅读(145) 评论(0) 推荐(0)
摘要:[高思诚](https://www.luogu.com.cn/user/253936)是后门中学的学生。 $\text{On 2023.5.31}$. ![](https://cdn.luogu.com.cn/upload/image_hosting/nh6hzmtb.png?x-oss-proce 阅读全文
posted @ 2023-08-06 20:05 SError 阅读(29) 评论(0) 推荐(0)
摘要:适用范围: - 离线题,区间伸长容易维护信息,缩短反之。 当然有只删的回滚。 去年暑假贺的板子。 [P5906 【模板】回滚莫队&不删除莫队](https://www.luogu.com.cn/problem/P5906) 求区间相同的数的最远距离。 $1\le n,m\le 2\times10^5 阅读全文
posted @ 2023-08-06 20:04 SError 阅读(61) 评论(0) 推荐(0)
摘要:### T1 已知 $a,b$ 为互素的正整数,求最大的 $k$, $$ax+by=k$$ 无非负整数解。 [P3951 [NOIP2017 提高组] 小凯的疑惑 / [蓝桥杯 2013 省] 买不到的数目](https://www.luogu.com.cn/problem/P3951) 小丑,答案 阅读全文
posted @ 2023-08-06 20:02 SError 阅读(16) 评论(0) 推荐(0)
摘要:[P4719 【模板】"动态 DP"&动态树分治](https://www.luogu.com.cn/problem/P4719) 带点权的树,每次修改一个点的权值,求树的最大权独立集。 $1\le n,m \le 10^5$,点权的绝对值 $\le 10^2$. 若不带修,先设 $f_{u,1/0 阅读全文
posted @ 2023-08-06 20:02 SError 阅读(22) 评论(0) 推荐(0)
摘要:$\text{Kruskal}$ 重构树基于 $\text{Kruskal}$ 最小生成树算法,通过将边权化为点权实现一些奇妙东西。 ### 构造 与 $\text{Kruskal}$ 最小生成树算法类似。 当连边 $(u,v,w)$ 时: - 新建节点 $x$,将其点权设为 $w$. - 设 $u 阅读全文
posted @ 2023-08-06 20:00 SError 阅读(30) 评论(0) 推荐(0)
摘要:板子 先放一个 \(\rm NTT\) 的板子。 #include<bits/stdc++.h> #define N 1<<? #define P ? using namespace std; int qpow(int k,int b){ int ret=1; while(b){ if(b&1)re 阅读全文
posted @ 2023-08-06 19:59 SError 阅读(53) 评论(0) 推荐(0)
摘要:### 阶 由欧拉定理得 $a^{\varphi(m)}\equiv1\space(\text{mod}\space m),(a,m)=1$ . 故满足 $a^n\equiv1\space(\text{mod}\space m)$ 的最小 $n$ 存在,称为 $a$ 模 $m$ 的阶,记作 $\de 阅读全文
posted @ 2023-08-06 19:58 SError 阅读(66) 评论(0) 推荐(0)