图论 - 最小生成树例题
最小生成树例题练习,主要看如何将问题转化成最小生成树的模型,然后进行求解。
数学 - 康托展开
康托展开是对排列的完美哈希,其值为一个排列在字典序中的排行,通过树状数组进行优化后可以在 O(n log n) 的复杂度对一个排列康托展开。
杂项 - 挂分合集
整理一下遇到的各种各样奇葩的问题,和一些令人智熄的迷惑操作。
数据结构 - 单调栈
单调栈是一种在线性复杂度内求解「左右第一个比某个数大」的元素的方式,与单调队列类似,都是将不可能作为答案的元素去掉来进行优化的思想。
数学 - 同余最短路
同余最短路是用最短路的方式求解「用若干个整数凑出其它整数」这一问题,可以看做类似于背包问题的一种 DP,但是需要用到最短路求解。
数学 - 质数约数相关例题
利用各种筛法可以预处理出一定范围内的质数以及相关数论函数,筛法并不局限于只能处理 [1, N] 区间内的信息,也可以是 [L,R],然后对题目进行求解。
数学 - 逆元
系统整理一下逆元相关的知识点,包括快速幂求逆元、拓展欧几里得求逆元、线性递推求逆元。
图论 - 树链剖分
树链剖分是一种将树上路径转化为对数级别的连续区间的技术,可以把树上询问转化为区间询问,然后用线段树等数据结构维护信息。
图论 - 树上差分
树上差分可以用线性的复杂度处理树上路径的修改,最后通过树上前缀和还原出每个点的权值,在这种情况下它比树链剖分的复杂度更优。
动态规划 - 树形 DP
树形 DP 的主要思想是在树上对每个结点设计状态,并且父结点的状态可以从子结点转移。