Jarrycow的睡梦
搜索 搜索
搜索,也就是对状态空间进行枚举,通过穷尽所有的可能来找到最优解,或者统计合法解的个数。 搜索简介搜索有很多优化方式,如减小状态空间,更改搜索顺序,剪枝等。 搜索是一些高级算法的基础。在 OI 中,纯粹的搜索往往也是得到部分分的手段,但可
2023-04-14
倍增 倍增
倍增法,顾名思义就是翻倍。它能够使线性的处理转化为对数级的处理,大大地优化时间复杂度。 应用RMQ 问题参见:RMQ 专题 RMQ 是 Range Maximum/Minimum Query 的缩写,表示区间最大(最小)值。使
2023-03-24
二分查找 二分查找
二分查找,也称折半搜索、对数搜索,是用来在一个有序数组中查找某一元素的算法。 原理:二分法以在一个升序数组中查找一个数为例。 每次考察数组当前部分的中间元素 如果中间元素刚好是要找的,就结束搜索过程 如果中间元素小于所查找的值,那么左
2023-03-24
前缀和 & 差分 前缀和 & 差分
前缀和定义前缀和可以简单理解为「数列的前 $n$ 项的和」,是一种重要的预处理方式,能大大降低查询的时间复杂度。 二维/多维前缀和多维前缀和的普通求解方法几乎都是基于容斥原理。 基于 DP 计算高维前缀和基于容斥原理来计算高维
2023-03-24
贪心 贪心
贪心算法是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致结果是最好或最优的算法。 适用范围:局部最优策略能导致产生全局最优解实际上贪心算法使用的情况比较少,可以先选择该问题下的几个实际数据进行分析可以做出
2023-03-24
递归 & 分治 递归 & 分治
递归与分治算法的区别与结合运用 递归定义递归(英语:Recursion),在数学和计算机科学中是指在函数的定义中使用函数自身的方法,在计算机科学中还额外指一种通过重复将问题分解为同类的子问题而解决问题的方法。 引入递归的基本思想是某个函
2023-03-24
2 / 3