``` //k可能是负数,所以斜率不在有单调性 //新加的点的横坐标还是单调递增的,但可能不是严格的 //在查询的时候:只能二分查找 //在插入的时候:将队尾不在凸包上的点删掉 //f[j]=(sumt[i]+s)*sumc[j]+f[i]-sumt[i]*sumc[i]-s*sumc[n] //f... ...
分类:
其他好文 时间:
2020-05-18 12:17:43
阅读次数:
46
团队训练(五) 二分查找(1) 前言:先分享一波学二分的心理过程,这几道二分题居然差不多磨了十来天,一开始仅仅是把一些模板记下来,然后现在终于有一丝丝理解,看到很多文章都说,只有10%的程序猿会二分,我也不懂真假,反正我觉得就有那么一点点玄学,既要考虑边界问题,又要考虑左右区间问题,还要考虑返回值等 ...
分类:
其他好文 时间:
2020-05-15 20:40:41
阅读次数:
84
增加一个数就update(x,1) 减去这个数就update(x,-1) 查看是否有某个数就query(x)-query(x-1)是否>0 看比a大k的数就二分查找query值为query(a)+k的数 http://www.tzcoder.cn/acmhome/problemdetail.do?& ...
分类:
编程语言 时间:
2020-05-15 18:33:55
阅读次数:
73
1、二叉树 1.1 为什么需要树这种数据结构 1)数组存储方式的分析 优点:通过下标方式访问元素,速度快。对于有序数组,还可以使用二分查找检索速度。 缺点:如果要检索具体某个值,或者插入值(按一定顺序)回整体移动,效率较低 2)链式存储方式的分析 优点:在一定程度上对数组存储方式有优化(插入一个数值 ...
分类:
其他好文 时间:
2020-05-14 13:24:22
阅读次数:
62
题目: 二叉搜索树中第K小的元素:给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素。 说明: 你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数。 思路: 二叉搜索树具有良好的性质,一个节点左边的数小于该节点,右边的数大于该节点,因此想到了使用中序 ...
分类:
编程语言 时间:
2020-05-12 13:31:50
阅读次数:
68
题目: 搜索二维矩阵 II:编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性: 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。 思路: 二分查找常规思路。 程序: class Solution: def searchMatrix( ...
分类:
编程语言 时间:
2020-05-12 11:59:03
阅读次数:
220
算法简介 二分查找 二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。 首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将 ...
分类:
编程语言 时间:
2020-05-11 23:43:48
阅读次数:
96
今天看数据库,书中提到:由于索引是采用 B 树结构存储的,所以对应的索引项并不会被删除,经过一段时间的增删改操作后,数据库中就会出现大量的存储碎片,这和磁盘碎片、内存碎片产生原理是类似的,这些存储碎片不仅占用了存储空间,而且降低了数据库运行的速度。如果发现索引中存在过多的存储碎片的话就要进行“碎片整 ...
分类:
其他好文 时间:
2020-05-11 23:34:39
阅读次数:
89
mysql的B+树索引 查找使用了二分查找,redis 跳表也使用了二分查找法,kafka查询消息日志也使用了二分查找法,二分查找法时间复杂度O(logn); 参考:redis的索引底层的 跳表原理 实现 聊聊Mysql索引和redis跳表 redis的跳表原理 时间复杂度O(logn)(阿里) 参 ...
分类:
其他好文 时间:
2020-05-11 01:34:25
阅读次数:
79
leetcode 4.[寻找两个有序数组的中位数] [寻找两个有序数组的中位数]: https://leetcode cn.com/problems/median of two sorted arrays/ leetcode 9.[回文数] [回文数]: https://leetcode cn.co ...
分类:
其他好文 时间:
2020-05-10 19:28:15
阅读次数:
73