随笔分类 - 学术相关
一些模板等介绍或详细揭秘;OI/数学相关内容;学习笔记。
摘要:证明之类的还是直接看 2017 年 IOI 国家集训队论文 《基于线性代数的一般图匹配》(杨家齐)。 一般图完美匹配 定义(Tutte 矩阵):对于一个无向图 $G=(V,E)$,定义 $G$ 的 Tutte 矩阵为一个 $n\times n$ 的矩阵 $\tilde{A}(G)$,其中 $$ \t
阅读全文
摘要:没写代码,暂且不知道有多少处笔误,还需要好好理解。。 动态 dp 矩阵乘法大家都会!dp 大家都会!线段树大家都会! 一些线性 dp 可以写成矩阵乘法的形式,这里矩阵乘法可能是 $(+,\times)$,也可能是 $(\max,+)$,也可能是 $(\min,+)$ 等等,但是只要有结合律就可以。
阅读全文
摘要:wqs 二分 强制必须选恰好 $i$ 个物品的价值是 $ans_i$,要求出恰好选 $m$ 的答案也就是 $ans_m$. 如果 $ans$ 是凸的(差分单调,这里仅讨论上凸即差分不增),那么可以二分一个直线的斜率,让这条直线尝试切这个凸包,如果切点横坐标在 $m$ 左侧,就减小斜率,否则增大斜率。
阅读全文
摘要:有些东西可能不说原理,或者干脆没有提到,有可能是太简单了没必要,也有可能是我还不会。 根据我做题的经验,图论的很多结论都是要 “猜”,证明的话大部分思路是考虑反证,最终由定义或者引理导出矛盾。 基本上是总结类型的,如果想要看教程的话直接看 “参考资料” 里的内容() 参考资料: OI Wiki 图论
阅读全文
摘要:去年尝试理解过,今年再看才学懂了一点。基本抄的 EI & qwaszx 的课件。 简介 转置原理给出的是,通过 $\mathbf{b}=A\mathbf{a}$ 的算法来解决 $\mathbf{\hat b}=A^{T}\mathbf{\hat a}$,这里 $\mathbf{a}$ 和 $\mat
阅读全文
摘要: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\
阅读全文