序言 对于单调性或二段性的对象一般会考虑二分答案。 把该问题转化为给定一个值mid,判定是否可行,进而缩小范围。 模型 1.最大值最小&最小值最大 此类问题对于答案从属于右边的,则选用“r=mid”的模板;对于答案从属于左边的,则选用“l=mid”的模板。 2.最接近某个值的答案 这类问题其实可以根 ...
分类:
编程语言 时间:
2019-10-06 09:24:41
阅读次数:
117
排序 这一类题还比较多,所以单独拿出来总结。 1012 The Best Rank (25 分) 这一类题还比较多,所以单独拿出来总结。 1012 The Best Rank (25 分) 这一类题还比较多,所以单独拿出来总结。 1012 The Best Rank (25 分) To evalua ...
分类:
编程语言 时间:
2019-09-02 19:14:18
阅读次数:
108
一、简单介绍栈是限定进在表尾插入或删除操作的线性表。因此,对栈来说,表尾端有其特殊的含义,成为栈顶(top),相应地,表头端称为栈底(bottom)。 不含元素的空表称为空栈。栈的修改是按照后进先出的原则进行的,因此,栈又称为后进先出的线性表。 二、栈示意图 三、基本操作 1、栈的初始化: Init ...
分类:
编程语言 时间:
2019-09-01 16:37:23
阅读次数:
119
选择排序 标签(空格分隔): python 排序算法 [TOC] 基本算法:一次确定一个最大值,或者最小值 二元选择排序 [x] 优化实现思路 同时固定左边最大值, 和右边最小值(降序排列) [x] 优点 减少元素迭代的次数 [x] 时间复杂度为: O(n (n/2)) 算法优化: 一躺确定一个最大 ...
分类:
编程语言 时间:
2019-08-24 18:49:59
阅读次数:
110
笔者将在接下来的栏目中写数据结构的基本算法类如下: 1.插入排序 2.归并排序 3.交换排序 4.选择排序 5.基排序 插入排序算法 思路: ?? ?? ?? ?? 第一步,调用insert函数,将序列为1的值插入到序列为0中子数组中 第二部,调用insert函数,将序列为2的值插入到序列为0-1中 ...
分类:
编程语言 时间:
2019-08-16 00:19:44
阅读次数:
107
隐马尔科夫模型(Hidden Markov Model,以下简称HMM)作为语音信号的一种统计模型,在语音处理的各个领域中获得了广泛的应用。当然,随着目前深度学习的崛起,尤其是RNN,LSTM等神经网络序列模型的火热,HMM的地位有所下降。但是作为一个经典的模型,学习HMM的模型和对应算法,对我们解 ...
分类:
编程语言 时间:
2019-08-10 19:24:59
阅读次数:
206
INTRODUCTION: 图论算法在计算机科学中扮演着很重要的角色,它提供了对很多问题都有效的一种简单而系统的建模方式。很多问题都可以转化为图论问题,然后用图论的基本算法加以解决。--百度百科 对于OI而言,图是指由若干给定的点及若干条连接两点的线(边)所构成的图形 借助图论知识,我们往往可以将一 ...
分类:
编程语言 时间:
2019-07-31 01:14:51
阅读次数:
112
基本算法 位运算 枚举 贪心 递归 分治 递推 构造 模拟 数据结构 简单数据结构 树形结构 线段树 树状数组 字典树 伸展树 左偏树 动态树 lca&rmq 划分树 SBT 字符串 kmp AC自动机 后缀数组 最小表示法 其它 并查集 散列表 单调栈 块状链表 双向链表 离线分治算法 可持久化数 ...
分类:
其他好文 时间:
2019-07-27 09:39:46
阅读次数:
96
概念 离散化,把无限空间中有限的个体映射到有限的空间中去,以此提高算法的时空效率。 通俗的说,离散化是在不改变数据相对大小的条件下,对数据进行相应的缩小。 举例 模板题链接:区间和 代码如下: 推荐习题:赶牛入圈(POJ3179) ...
分类:
编程语言 时间:
2019-07-24 22:28:45
阅读次数:
128
需求:分别用 冒泡排序法,快速排序法,选择排序法,插入排序法,归并排序将下面数组中 的值按照从小到大的顺序进行排序。 $arr=array(11,3,56,62,21,66,32,78,36,76,39,88,34); 1.冒泡排序 介绍: 冒泡排序(Bubble Sort)是一种简单的排序算法。它 ...
分类:
编程语言 时间:
2019-07-20 17:27:44
阅读次数:
142