随笔分类 - 0--总结&复习
摘要:定义 边双连通分量是定义在无向图当中的。 边双连通分量的定义是一个不存在割边的子图。 也就是说图中任意两点都可以有两条不重复(边)的路径可以互相到达。 模板 以P2860 [USACO06JAN]Redundant Paths G为例,给出边双的模板:(其实跟有向图的强连通分量求的代码近乎一模一样)
阅读全文
摘要:斜率优化小结 前言 一般来说,我们可以把斜率优化 \(dp\) 对应的可以解决的问题分成这几类: \(x\) 单调且 \(k\) 单调,\(x\) 不单调且 \(k\) 单调,\(x\) 单调且 \(k\) 不单调,\(x,k\) 都不单调。 我们可以只在第一种情况中使用单调队列直接维护做到线性复杂
阅读全文
摘要:前置知识 顺序有先后,但是不是完全的次序,建议确认全部都会再食用本篇。 线性筛 详见线性筛 整除分块 详见整除分块 狄利克雷卷积 详见数论函数&狄利克雷卷积 欧拉函数 详见欧拉函数 莫比乌斯函数 详见莫比乌斯函数&莫比乌斯反演 杜教筛 详见杜教筛 基础应用 最基础的一些题目。 基础知识 \(求\su
阅读全文
摘要:前置知识 带*表示如果只是学会可以不会这个知识点,但是较难的题目里面需要用到。 狄利克雷卷积 详见数论函数&狄利克雷卷积。 线性筛 详见线性筛 整除分块 详见整除分块 *杜教筛 详见杜教筛 莫比乌斯函数 莫比乌斯函数的定义 \[ \large \mu(n)=\begin{cases} 1,n=1\\
阅读全文
摘要:容斥原理 加法原理与减法原理 加法原理是集合之间两两不相交的情况下计算并集的计算公式。 而在一般情况(即集合之间可以有交集的时候),需要使用容斥原理来计算并集当中的对象个数。 减法原理就是一种简单的容斥原理,即两个性质之间的容斥原理。 减法原理的符号描述:设 \(A1\) 为具有性质 \(P1\)
阅读全文
摘要:前言 作者讨论目前自己遇到的这一类问题的相关做法,并不代表没有更一般的问题和更优秀的做法,欢迎补充。 路径求交 因为这样类似的问题似乎很常见,所以这里讨论一下。 树上路径求交 给出两条路径 \((a,b),(c,d)\) 四个点两两求 \(LCA\),得到 \(x_1=lca(a,c),x_2=lc
阅读全文
摘要:整除分块 一些引理 引理1 \(\large \forall \ a,b,c\in Z,\left \lfloor\dfrac{a}{bc}\right\rfloor=\lfloor\dfrac{\lfloor\dfrac{a}{b}\rfloor}{c}\rfloor\) 略证: \(\large
阅读全文
摘要:排列组合 基本计数原理 只作简单的介绍,不作严谨的定义的解释。 加法原理 在很多地方解释为**“分类”**。 把一个集合划分成若干个子集,那么大集合的对应对象数目可以用每一个部分的对象数目之和来表示。 整体等于部分之和。 如果划分出来的部分可以相交,那么还需要使用容斥原理来计算集合的对应数目。 乘法
阅读全文
摘要:update on 2021.9.3:大部分例题都被咕咕了,以后闲的没事再写吧 欧拉函数 定义 $\large \varphi{(x)}$表示在整数 \(\large [1,n]\) 中和 \(\large n\) 互质的数的个数. 写出来也就是:\({\large\varphi{(n)}= \su
阅读全文
摘要:前言 \(trie\) 树一般用于处理前缀字符串的匹配问题,但是其实在字符串问题上的作用并不大,一般都是拿来转化的。 \(01trie\) 可以用来维护异或最大值,同时也多出现在位运算的场合,尤其是按位贪心等技巧,需要在 \(01trie\) 上二分等,需要掌握。 众所周知,绝大多数复杂度不基于均摊
阅读全文
摘要:前言 可持久化数据结构其大多数有两种用法,但是其本质都是维护了一个“前缀数据结构”。 第一种用法是对于可以差分的信息(不只是序列上的差分,也可以是树上差分),我们就可以直接通过“前缀和”相减来得到对应区间的信息,从而维护。 第二种用法比较纯粹,就是在我们需要访问这个数据结构每一个历史版本的时候,我们
阅读全文
摘要:作用 李超树是拿来维护线段或者直线,支持动态插入线段/直线,和询问在某一单点的最大值线段。 其实就是维护了一个动态凸包。 实际上就是维护了一个“最优势线段”和“标记永久化”。 常常用来维护斜率优化 dp 。 实现 插入直线 首先是插入直线,查询单点的实现: 要记住的地方: \(1.\) \(Modi
阅读全文

浙公网安备 33010602011771号