链接:http://blog.csdn.net/morewindows/article/details/6668714希尔排序的实质就是分组插入排序,该方法又称缩小增量排序,因DL.Shell于1959年提出而得名。该方法的基本思想是:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素...
分类:
其他好文 时间:
2014-08-07 13:01:50
阅读次数:
302
注意:抽象成以下描述即为最长非降/下降子序列问题(一维状态)问题描述:在一个无序的序列a1,a2,a3,a4…an里,找到一个最长的序列满足:(不要求连续) aiaj>ak…>am,且i= array[i][0] && array[j][1] > len) //注意此处的判断条件 ...
分类:
其他好文 时间:
2014-08-07 02:59:08
阅读次数:
341
题目:uva10405 - Longest Common Subsequence(LIS,最长共同自序列)
题目大意:找出两个字符串中的最长公共的子序列。
解题思路:这类问题是第一次接触,不知道怎么做。百度了一下,发现了递推公式:dp【i】【j】:代表第一个字符串的前i个字符和第二个字符串的前j个字符比较能得到的最长的公共子序列。s【i】 == s【j】 ,dp【i】【j】...
分类:
其他好文 时间:
2014-08-06 23:04:32
阅读次数:
243
题目:uva10723 - Cyborg Genes(LIS)
题目大意:给出两个字符串,要求的到一个新的字符串,它保持了两个字符串的字符的特征,也就是可以在这个字符串中找到前两个字符串的子序列,求这样的字符串的最短长度和有多少种这样的不同的字符串。
解题思路:LIS。首先先要找出最长的公共子序列,这样得到的新的字符串的长度才会是最小:l1 + l2 - l【1】【N】;
l...
分类:
其他好文 时间:
2014-08-06 23:03:02
阅读次数:
272
LCS:给出两个序列S1和S2,求出的这两个序列的最大公共部分S3就是就是S1和S2的最长公共子序列了。公共部分必须是以相同的顺序出现,但是不必要是连续的。LCS具有最优子结构,且满足重叠子问题的性质。所以我们可以用动态规划来解决LCS问题。由LCS问题的最优子结构可得出递归式:参考代码:#incl...
分类:
其他好文 时间:
2014-08-06 22:19:42
阅读次数:
204
monotonic:单调的.序列为X=(x1,x2,x3,x4...),首先排序X得到X',找出X和X'的最长公共子序列(LCS)即可。另一种思维: 先回顾经典的O(n^2)的动态规划算法,设A[i]表示序列中的第i个数,F[i]表示从1到i这一段中以i结尾的最长上升子序列的长度,初始时设F[i] ...
分类:
其他好文 时间:
2014-08-06 22:19:25
阅读次数:
244
这道题基本上是在普通LCS问题上的一点小小的变形,由求LCS的长度,改为求LCS的权值。架构还是不变的。可作为LCS问题的模板题。时间复杂度O(N^2)。
注意
题目中的字母都是小写字母,也就是只有26种字符。不需要开太大的数组。所以hash就是很好的一种保存权值的方法。另外吐槽一下。子弹序列和恐怖分子序列的长度太坑了,因为题目没有给出长度。我开了个2000个数组,wa了n次。改成2005就AC了。...
分类:
其他好文 时间:
2014-08-06 14:59:11
阅读次数:
162
DescriptionQuestion 1: Is Bigger Smarter?The ProblemSome people think that the bigger an elephant is, the smarter it is. To disprove this, you want to...
分类:
其他好文 时间:
2014-08-06 14:39:11
阅读次数:
242
BeansTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2637Accepted Submission(s): 1302Problem Descr...
分类:
其他好文 时间:
2014-08-06 14:20:21
阅读次数:
226