随笔分类 - 学术相关
一些模板等介绍或详细揭秘;OI/数学相关内容;学习笔记。
摘要:2023.2.14 upd:消歧义:下面说的后缀 Trie 指的是隐式后缀树。与 Ukkonen 算法构建的后缀树的区分是没有在每个后缀插入的时候最后加一个特殊字符 #. 基本参考于 EtaoinWu 的博客 因为是感性理解,重要在于对后缀树及后缀自动机结构的透彻理解。 定义:$Left(x)$,子
阅读全文
摘要:差分约束系统提供了通过图论建图以最长路/最短路的形式刻画变量之间的不等关系。常见的应用是判断不等关系是否有合法解。 对于最短路,我们将 \(x_v-x_u\leq w\) 描述为 \(dis_v\leq dis_u+w\),感性理解一下,在这里描述的是 \(x_v\) 的上界,而且通过跑最短路找到了
阅读全文
摘要:图论 平面图中的欧拉定理:设 \(G\) 为任意的连通的平面图,则 \(V-E+F=2\),\(V\) 是 \(G\) 的顶点数,\(E\) 是 \(G\) 的边数,\(F\) 是 \(G\) 的面数。 树上问题 两个点集并起来的直径端点一定在两个点集分别的直径端点这四个点中。证明类似求直径两遍 d
阅读全文
摘要:总结一些看见什么要想到什么套路的处理技巧。 树上问题 树上连通块问题:点数-边数=1;树形dp,点分治。 统计相邻点信息:维护儿子信息,父亲单独处理。(一般的批量处理,特殊的单独处理)。
阅读全文
摘要:std::deque 的访问元素竟然是 \(\mathcal{O}(1)\) 的,在 UOJ 群被 142857cs 教育了,于是来总结一下这个东西。 两种手写支持 \(\mathcal{O}(1)\) 访问元素的双端队列的方法: 如果双端队列大小固定:可以用数组很简单的模拟来支持 \(\mathc
阅读全文
摘要:按秩合并来保证复杂度正确。 每次合并的时候记录一下是是怎么连边的,撤销的时候断开这条边就行了。 struct DSU{ int n,f[N],siz[N]; int stk[N],top; void init(int x){n=x;for(int i=1;i<=x;i++)f[i]=i,siz[i]
阅读全文
摘要:\(n\leq 2^{64}\) 即正确。 #include<iostream> #include<cstdio> #include<algorithm> #include<vector> #include<bitset> #define pb emplace_back #define mp std
阅读全文
摘要:又在抄 oi-wiki... 求 \[ \phi(n)=\sum_i^n \varphi(i) \] 利用 \(id=\varphi * 1\): \[ \begin{aligned} \frac{1}{2}n(n+1)&=\sum_k^n k \\ &=\sum_k^n\sum_{d|k}\var
阅读全文
摘要:各类根号算法。不太适合当作复习所用,就当写个教程了,可能因为这个东西不大需要复习(
阅读全文
摘要:不排除写挂了的可能性,挂了再来改。 namespace Bitset{ int bslen; ull mip[65]; struct Bs{ ull bit[N/64+5]; Bs(){memset(bit,0,sizeof(bit));} void init(int n){bslen=n/64+2
阅读全文
摘要:感觉比 Tarjan 好写多了!虽然正确性可能不如 Tarjan 好理解。 先求出 dfs 树,然后按照出栈序倒序在反图上 dfs,每次 dfs 所有能走到的点都构成了一个强连通分量,然后将它们在图上删去。 代码(来自 oi-wiki) 时间复杂度 \(\mathcal{O}(|V|+|E|)\).
阅读全文
摘要:现在是几几年,怎么还在学网络流。 最小割求最大权闭合子图 定义 有一个有向图,每一个点都有一个权值(可以为正或负或 \(0\)),选择一个权值和最大的子图,使得每个点的后继都在子图里面,这个子图就叫最大权闭合子图。 转化成最小割问题 建立超级源点 \(s\) 和汇点 \(t\). \(s\) 向每个
阅读全文
摘要:化柿子的时候化成一次函数的形式更直观一些(对我来说)。 如果是单调栈上二分 / 单调队列,这一类的,通常都是斜率或者某些东西具有单调性,这个东西不需要也尽量不要对每一种情况都整理下来应该怎么优化,是死板的。斜率优化是把一类 dp 问题变成数据结构问题,让数据结构维护这个凸包(或者说维护凸包上两点连线
阅读全文
摘要:原来联赛是考数论的......好像很多的结论没有给证明。
阅读全文
摘要:对于集合 \(S\) 上的二元关系 \(<\),如果 \(<\) 满足自反性、反对称性、传递性、不可比则称其满足严格弱序,形式化地来讲: 非自反性,Irreflexivity:\(\forall x\in S,x\not <x\); 传递性,Transitivity:\(\forall x,y,z\
阅读全文
摘要:原来我不会线段树懒标记以及永久化,呜哇哇。
阅读全文
摘要:设匹配函数 $C(x,y)$ 为字符 $x$ 和字符 $y$ 匹配的值,是我们自己定义的值。 两个字符串匹配的值就是对应位置上的字符匹配的值的和。 对于文本串 $S$ 和模式串 $T$,现在要求出 $T$ 在 $S$ 中所有匹配的位置。 为了化成卷积的形式,把 $T$ 反转。 这样 $T$ 和 $S
阅读全文
摘要:以前看到四边形不等式或叫决策单调性优化 dp,看到绕来绕去的式子和繁琐的证明总是望而却步。
数理基础简单打一下后再来看时发现,其实模型并不复杂,证明大多较为基础,故记此文加以巩固。
阅读全文
摘要:对拉格朗日插值公式如何构造的进行思考,并且辅以基础拉格朗日插值习题。
阅读全文
摘要:无特殊情况默认 \(a\) 为序列,\(n\) 为序列长度,\(m\) 是操作数。 无特殊情况默认 \(n,m\leq 10^5\)。 T1 区间乘 \(-1\),询问区间最大子段和。 线段树维护区间最大/小的前缀/后缀/最大字段,乘 \(-1\) 的时候交换一下即可。 T2 楼房重建,单点修改,区
阅读全文
浙公网安备 33010602011771号