二分 定义 二分查找,也称折半搜索、对数搜索,是用来在一个有序序列中查找某一元素的算法。 理解 使用二分法的前提条件是有序,如果序列无序或者函数不单调,那么二分也就无从谈起。 当问题的答案具有单调性,就可以通过二分法把求解转换为判定。换句话说,二分法将原本从问题逐步求解出答案的过程,转换为在有序的候选答案中逐步查找的过程,直到判定某一候选答案符合问题条件,即得出问题的答案。 算法过程 通过以下示例说明二 2024-08-04 OI-Wiki > 基础算法
前缀和与差分 前缀和 定义 对于一个给定的数列 AAA,可以计算得到它对应的前缀和数列 SSS,其中 SSS 的第 iii 项是数列 AAA 的前 iii 项之和。 即 S[i]=∑j=1iA[j]S[i] = \sum_{j = 1}^i A[j] S[i]=j=1∑iA[j] 理解 前缀和可以简单理解为「数列的前 nnn 项的和」,是一种重要的预处理方式。 根据定义,前缀和数列可以通过递推的方式计算得到: 2024-08-02 OI-Wiki > 基础算法
递归 定义 递归,在数学和计算机科学中是指在函数的定义中使用函数自身的方法,在计算机科学中还额外指一种通过重复将问题分解为同类的子问题而解决问题的方法。 理解 对于一个待求解的问题,当它局限在某处边界、某个小范围或者某种特殊情形下时,其答案往往是容易获得的。 如果能够以原问题为起点,尝试把问题的状态空间缩小到容易获得答案的问题边界,并且收缩过程的每个步骤具有相似性。 那么在获得问题边界的答案后,就可以通 2024-07-30 OI-Wiki > 基础算法
Hello World Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub. Quick 1970-01-01