数学 - 矩阵
矩阵乘法是可以用来描述线性递推的一种技术,并且矩阵乘法具有结合律,因此我们可以进行快速幂操作,从而快速地求出知道递推数列某一项的值。除此之外,矩阵也可以描述一些变量之间的线性关系,观察到相互影响的线性关系的变量就可以考虑能否使用矩阵进行优化。
图论 - 最小生成树例题
最小生成树例题练习,主要看如何将问题转化成最小生成树的模型,然后进行求解。
数学 - 康托展开
康托展开是对排列的完美哈希,其值为一个排列在字典序中的排行,通过树状数组进行优化后可以在 O(n log n) 的复杂度对一个排列康托展开。
杂项 - 挂分合集
整理一下遇到的各种各样奇葩的问题,和一些令人智熄的迷惑操作。
数据结构 - 单调栈
单调栈是一种在线性复杂度内求解「左右第一个比某个数大」的元素的方式,与单调队列类似,都是将不可能作为答案的元素去掉来进行优化的思想。
数学 - 同余最短路
同余最短路是用最短路的方式求解「用若干个整数凑出其它整数」这一问题,可以看做类似于背包问题的一种 DP,但是需要用到最短路求解。
数学 - 质数约数相关例题
利用各种筛法可以预处理出一定范围内的质数以及相关数论函数,筛法并不局限于只能处理 [1, N] 区间内的信息,也可以是 [L,R],然后对题目进行求解。
数学 - 基础公式及证明
基础数学公式记录,主要关于复杂度分析和一些数论基础。
数学 - 逆元
系统整理一下逆元相关的知识点,包括快速幂求逆元、拓展欧几里得求逆元、线性递推求逆元。
图论 - 树链剖分
树链剖分是一种将树上路径转化为对数级别的连续区间的技术,可以把树上询问转化为区间询问,然后用线段树等数据结构维护信息。