算法
文章平均质量分 87
记录所有的基础算法
「已注销」
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
基础算法---【双指针】
双指针算法有时候也叫或者,是⼀种优化暴⼒枚举策略的⼿段:当我们发现在两层 for 循环的暴⼒枚举过程中,两个指针是可以的,此时我们就可以利⽤两个指针不回退的性质来优化时间复杂度。因为双指针算法中,两个指针是朝着同⼀个⽅向移动的,因此也叫做同向双指针。⼀定要学会如何从暴⼒解法优化成双指针算法。原创 2025-09-30 22:50:20 · 659 阅读 · 0 评论 -
基础算法---【差分】
假设我们在f数组[x1,y1]坐标位置处+k,就会导致以[x1,y1]为左上角的所有元素的前缀和都+k(即蓝色框出的部分)对于红色方框内的部分来说,前缀和+k的结果正是我们想要的,但是对于在蓝色方框内但不在红色方框内的部分,我们不需要它们+k,因此,需要对[x1,y2+1]和[x2+1,y1]这两个坐标内的元素执行-k操作,这样就可以让以它们为左上角的矩阵里边的所有元素不发生改变(即黄色框出部分),但是阴影部分的元素很显然在计算前缀和的时候多减了一个k,所以我们还需要在[x2+1,y2+1]的地方+k。原创 2025-09-24 19:00:37 · 1010 阅读 · 0 评论 -
基础算法---【前缀和】
前缀和的核⼼思想是预处理,可以在暴⼒枚举的过程中,快速给出查询的结果,从⽽优化时间复杂度。是经典的⽤空间替换时间的做法。题目一:【模板】前缀和。原创 2025-09-22 18:16:15 · 961 阅读 · 0 评论 -
基础算法---【高精度算法】
高精度算法解决的就是数值特别大的数据之间的加减乘除的问题。基本思想就是先用字符串存入数据,然后再将这串数字逆序存放在数组里边。利用数组来模拟计算。为什么要逆序存在数组里边?原因就是我们小学时候的那种列竖式计算加减乘除的时候是先从个位开始计算的,而我们便利数组是从头开始便利的,所以逆序存放对于我们的计算更加的方便。原创 2025-09-13 12:02:37 · 1053 阅读 · 0 评论 -
基础算法---【模拟】
模拟题目就是根据题目的描述来解题,考验的是代码能力,几乎所有的模拟题都是需要分类讨论的。原创 2025-09-11 11:24:43 · 254 阅读 · 0 评论
分享