码迷,mamicode.com
首页 >  
搜索关键字:子序列    ( 5133个结果
归并排序
归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个有序的子序列,再把有序的子序列合并为整体有序序列。 例如有两个有序表:(7,10,13,15)和(4,8,19,20),归并后得到的有序表为:(4,7,8,10,13,15,19,20)。 代码: #include using namespace std; void mergearra...
分类:其他好文   时间:2014-08-01 16:10:31    阅读次数:145
利用动态规划找出最长公共单调递增子序列
动态规划法求最长递增子序列的两种方法,一个是n²,一个是nlgn时间的。...
分类:其他好文   时间:2014-08-01 16:03:51    阅读次数:201
数据结构之归并排序
归并排序Merging Sort,将两个或两个以上的有序表组合成一个新表。1.基本思想假设初始化系列含有n个记录,则可以看出n个有序的子序列,每一个子序列的长为1,然后两两归并,得到【n/2】个长度为1或2的子序列,再两两归并……如此重复,知道最后得到一个长度为n的有序序列位置,这种排序方法称为2-...
分类:其他好文   时间:2014-08-01 15:43:41    阅读次数:208
LeetCode--Longest Palindromic Substring
有一个比较容易出错的点:反转求最长公共子序列,这是错误的想法 1 class Solution { 2 public: 3 string longestPalindrome(string s) { 4 int n = s.length(); 5 int lon...
分类:其他好文   时间:2014-08-01 15:28:31    阅读次数:214
[LeetCode系列]最大连续子列递归求解分析
本文部分参考Discuss: LeetCode.步骤1. 选择数组的中间元素. 最大子序列有两种可能: 包含此元素/不包含.步骤2. 步骤2.1 如果最大子序列不包含中间元素, 就对左右子序列进行步骤1. 步骤2.2 如果最大子序列包含, 则结果很简单, 就是左子列的最大后缀子列(即包含左子列最.....
分类:其他好文   时间:2014-07-31 19:47:57    阅读次数:152
【从零学习经典算法系列】分治策略实例——快速排序(QuickSort)
快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序n个项目要O(nlogn)次比较。在最坏状况下则需要O(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他O(nlogn)算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。 此种排序的思路是:如果在分开的时候,不是从中间位置上分界,二是按照元素的大小分开为两个一大一小的子序列(一个子序列的所有元素大于另一个子序列里的所有元素),这样的话,因为两个子序列之间的相对次序已经正确,所有在合并的时候...
分类:其他好文   时间:2014-07-31 16:58:07    阅读次数:299
HDU 1503 Advanced Fruits
求最短公共祖先,是最长公共子序列的变形。在DP的同时记录下路径,然后递归回去输出即可。如果碰到公共的,只输出一次。以第一个样例为例:图中数字是最大公共子段的长度,下标代表路径。带下划线的是递归时所走的路径。 1 //#define LOCAL 2 #include 3 #include 4 #i.....
分类:其他好文   时间:2014-07-31 16:02:46    阅读次数:232
UVA714- Copying Books(最大值最小化)
题意:k份书稿分成m份,使得每份的和最小 思路:典型最大值最小化问题,使用贪心+二分。贪心的是每次尽量将元素往右边划分,二分查找最小的x满足m个连续的子序列和S(i)都不超过x。 因为输出的原因,在划分时就从后往前尽量划分。 #include #include #include #include using namespace std; typedef long ...
分类:其他好文   时间:2014-07-31 13:29:27    阅读次数:178
HDU 1160 FatMouse's Speed (动规+最长递减子序列)
HDU 1160 FatMouse's Speed (动规+最长递减子序列)...
分类:其他好文   时间:2014-07-31 00:04:08    阅读次数:270
UVa 164 - String Computer
题目:编辑距离,给你两个串,将已知串转化成目标串,可以增、删、改字母,求最小操作次数。 分析:dp,编辑距离。同最大公共子序列。注意操作位置是实时变化的。(前面都已经处理好了)                      f[i][j] = f[i-1][j]         这时删掉 str1[j+1];                      f[i][j] = f[i][j-1]...
分类:其他好文   时间:2014-07-31 00:02:25    阅读次数:282
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!