posted @ 2022-02-19 11:05 ZheyuHarry 阅读(84) 评论(0) 推荐(0) 编辑
摘要:
我们将要引入一个双指针算法,我们考虑为什么要引入双指针算法呢,以及双指针算法究竟能为我们解决什么样的问题? 通常,我们会处理到有些问题需要遍历某个序列,但根据题意我们并不需要重复判断某些过程,所以我们会利用双指针算法来取代朴素算法。将时间复杂度为O(n^2)的算法优化到O(n),就是可以不需要重复遍 阅读全文
摘要:
差分和前缀和其实是一对逆操作,这里将会对前缀和和差分是怎么实施的,如何理解,以及对应一维和二维数组的情况。 前缀和:换言之,就是前n项和,也就是高中学习数列时的Sn; Sn = a1+a2+……an; Sn+1 = a1+a2+……an+an+1 = Sn+an+1; 应用:如果要求从l到r的数字之 阅读全文
posted @ 2022-02-16 11:47 ZheyuHarry 阅读(139) 评论(0) 推荐(0) 编辑
摘要:
通常,我们在处理问题的时候,很多的数据并不像我们所熟知的int 和long long一样,很容易的能被表达出来。特别是我们现在这个答案数据的时代,我们时常会遇见很多高精度的数据,有时要对它们进行操作就会很困难。 于是乎,我们引入了高精度算法: 我们先总结一下高精度算法的一些特性: ·首先高精度计算, 阅读全文
posted @ 2022-02-15 15:57 ZheyuHarry 阅读(83) 评论(0) 推荐(0) 编辑
摘要:
今天要介绍的是一种比较常见但是效率很高的算法,就是二分法。因为二分法有着O(logn)的优秀时间复杂度,所以我们常常会用到它。 但是呢二分主要是运用于已经排好序了的序列,通常我们知道一个答案区间,然后二分的去寻找符合题意的answer;或者我们已知一个序列,我们要通过二分的方法去寻找它的位置,或者说 阅读全文
posted @ 2022-02-13 19:12 ZheyuHarry 阅读(327) 评论(0) 推荐(0) 编辑