快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)。 该方法的基本思想是: 1.先从数列中取出一个数作为基准数。 2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边 ...
分类:
编程语言 时间:
2017-08-05 21:15:36
阅读次数:
231
题意:给定 n 个点,求最近两个点的距离。 析:直接求肯定要超时的,利用分治法,先把点分成两大类,答案要么在左边,要么在右边,要么一个点在左边一个点在右边,然后在左边或右边的好求,那么对于一个在左边一个在右边的,我们可以先求全在左边或右边的最小值,假设是d,那么一个点在左边,一个点在右边,那么横坐标 ...
分类:
其他好文 时间:
2017-08-04 15:17:27
阅读次数:
151
初期:一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法. (4)递推. (5)构造法.(poj3295) (6)模拟法.(poj1068,poj2632,poj1573,poj2993,poj2996) ...
分类:
其他好文 时间:
2017-08-04 13:53:32
阅读次数:
141
思路: 先想到递归, 但是1要求是count, 2画图发现有重叠递归的部分, 可以使用记忆化搜索记录中间值, 所以想到动归 记忆化搜索常用分治法, 将回溯后的值存入map: ...
分类:
其他好文 时间:
2017-08-03 22:12:46
阅读次数:
119
大数乘法是一个很常见的问题,今年(2017年)参加拼多多内推,其中有一题就是大数乘法,今天写一下大数乘法的实现: 思路就是模拟手工计算的一个普通算法,网上说的什么分治法和FFT算法目前我还没有尝试。 把自己实现的代码贴出来 ...
分类:
其他好文 时间:
2017-08-02 11:07:13
阅读次数:
119
同 563 Binary Tree Tilt 返回值是局部最大值, 需要全局变量 分治: 后序遍历, 分治法返回到上一层时找到当前层的最大单子路径 . 全局变量看看本层的单子(左右子树)路径diameter 和是否大于全局变量来更新. ...
分类:
其他好文 时间:
2017-08-01 19:08:15
阅读次数:
149
归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。 将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。 归并排序的基本思想 将待排序序列R[0 ...
分类:
编程语言 时间:
2017-08-01 11:16:15
阅读次数:
163
这道题让我们求二叉树的坡度,某个结点的坡度的定义为该结点的左子树之和与右子树之和的差的绝对值,这道题让我们求所有结点的坡度之和. 这道题最好的解法应该是用后序遍历来做,因为后序遍历的顺序是左-右-根,那么就会从叶结点开始处理,这样我们就能很方便的计算结点的累加和,同时也可以很容易的根据子树和来计算t ...
分类:
其他好文 时间:
2017-07-31 22:58:24
阅读次数:
129
二分查找的实现与应用: 在学习算法的过程中,我们除了要了解某个算法的基本原理、实现方式,更重要的一个环节是利用big-O理论来分析算法的复杂度。在时间复杂度和空间复杂度之间,我们又会更注重时间复杂度。 时间复杂度按优劣排差不多集中在: O(1), O(log n), O(n), O(n log n) ...
分类:
其他好文 时间:
2017-07-30 18:03:24
阅读次数:
203
Have you ever played quoit in a playground? Quoit is a game in which flat rings are pitched at some toys, with all the toys encircled awarded. In the ...
分类:
其他好文 时间:
2017-07-28 14:15:29
阅读次数:
223