随笔分类 - 算法竞赛进阶指南
摘要:快速幂 1、快速幂的作用 快速幂可以帮助我们在 的时间复杂度内计算出 的结果。 2、算法原理 首先快速幂我们要处理出 个数,$a^{2^0}mod \quad p,a^{2^1}mod\quad p,a^{2^2}mod
阅读全文
摘要:二分 ~~据说百分之九十的程序员写不对二分~~ 那我们今天就来说一下二分查找及二分答案 一、整数集合的二分 1.二分的基本用法 二分的基本用法就是在单调的序列或者函数中进行查找。当答案具有单调性的时候我们也可以将答进行二分,这样可以大大降低时间复杂度。通过二分,我们也可以延伸到三分等等… 2.整数二
阅读全文
摘要:差分 #一、一维差分 ##1.一维差分的定义 给定一个数组A它的差分数组B的定义为: ##2.一维差分的操作 一维差分可以让我们在一段区间内加上指定的数,其它位置不变,差分可以帮助我们把“区间操作”变成对差分数组的“单点操
阅读全文
摘要:前缀和 #一、一维前缀和 ##1.前缀和是啥 前缀和其实就是用一个数组S存下数组a的前缀的和,这样话方便以后的查找,提高查找的速度。 ##2.一维前缀的时间复杂度 因为是遍历一遍数组a就可以得到我们的前缀和数组,所以前缀和的时间复杂度是O(n)。 如果是m次查找的话,我们就可以做到O(n+m)的时间
阅读全文