数学 - 同余最短路
同余最短路是用最短路的方式求解「用若干个整数凑出其它整数」这一问题,可以看做类似于背包问题的一种 DP,但是需要用到最短路求解。
数学 - 质数约数相关例题
利用各种筛法可以预处理出一定范围内的质数以及相关数论函数,筛法并不局限于只能处理 [1, N] 区间内的信息,也可以是 [L,R],然后对题目进行求解。
数学 - 基础公式及证明
基础数学公式记录,主要关于复杂度分析和一些数论基础。
数学 - 逆元
系统整理一下逆元相关的知识点,包括快速幂求逆元、拓展欧几里得求逆元、线性递推求逆元。
图论 - 树链剖分
树链剖分是一种将树上路径转化为对数级别的连续区间的技术,可以把树上询问转化为区间询问,然后用线段树等数据结构维护信息。
图论 - 树上差分
树上差分可以用线性的复杂度处理树上路径的修改,最后通过树上前缀和还原出每个点的权值,在这种情况下它比树链剖分的复杂度更优。
动态规划 - 树形 DP
树形 DP 的主要思想是在树上对每个结点设计状态,并且父结点的状态可以从子结点转移。
杂项 - 拆位
由于位运算的各位都是相互独立的,所以在处理位运算问题的时候可以考虑把每一位单独拆开处理。特别地,对于异或操作,通过前缀和的思想,加上异或的自反性(一个数异或自己结果为零),我们可以在预处理后在常数时间内求出来一段区间的异或值。
图论 - 基环树
基环树是一个环上挂着若干颗树,通常是断环上一条边然后分类讨论,转为树上问题。
图论 - 圆方树
仙人掌图
圆方树是来解决仙人掌图的问题的,其中任意一条边至多只出现在一条简单回路的无向连通图称为仙人掌。
对于一个环,一定在一个边双中,但是一个边双并不一定只包含一个环,所以我们不能简单的只求出来边双算完。可以把下面的图输入 Graph Editor 观察,这整个图是边双,但是包含两个环,所以我们在 Tarjan 求的时候需要做一些处理。
1234567891011123451 22 33 11 ...