问题描述
最长递增子序列也称 “最长上升子序列”,简称LIS ( longest increasing subsequence)。设L=是n个不同的实数的序列,L的递增子序列是这样一个子序列Lis=,其中k1
如:求一个一维数组arr[i]中的最长递增子序列的长度,如在序列{ 7, 1, 6, 5, 3, 4, 8 }中,最长递增子序列长度为4,其递增子序列为:1,3,4,8。...
分类:
其他好文 时间:
2014-05-15 15:06:59
阅读次数:
328
在这次集体学音标之前,Leader说如果你感觉音标学习已有了一次飞跃的提高,这次可以不参与纠音。我觉得自己一直以来处于学音标的阶段,还没遇到提高到极点的地步,我上升的空间还很大。于是,我参加了集体纠音活动,活动时间长达20天,感觉这20天我真的收获很多,学习英语的热情也很高,每一天都在进步着,而且没有了第一次集体纠音时的那种被打击状态(每读一个音标就被指出错误)。这次纠音活动中,感觉自己对音标掌握...
分类:
其他好文 时间:
2014-05-15 06:19:01
阅读次数:
292
OJ题目:click here~~
题目分析:设dp[ i ] 为前i个数的子序列的个数 , 下标从1开始。计算dp[ i ] 。第一种情况, 如果x[ i ] 与前面的数都不相同 , 则
dp[ i ] = dp[ i - 1] + dp[ i - 1] + 1 , 即 = 都把x[ i ] 放在后面 + 都不把x[ i ]放在后面 + x[ i ] 单独成一个序列。
第二种情况,如果x[...
分类:
其他好文 时间:
2014-05-15 05:13:13
阅读次数:
223
题意:最大连续子序列和,在一个数组中找到和最大的连续子数组
思路:dp, 对于第i个数,有两种选择:把它加入在子数组里,不加入子数组(子数组到此结束)
加不加入子数组,要比较它加入前后子数组的总和是变大了还是变小了,如果变大则加入,变小则不加入
所以,我们需要记录以i-1结尾的子数组的总和,最后的结果在这些总和中取最大的那个
f[i] = max(f[i-1]+a[i],f[i-1]);
max({f[i]})
实现时用两个变量,一个保存f[i-1],一个保存目前为止最大的f[i]
复杂度:时间O(n),空...
分类:
其他好文 时间:
2014-05-14 21:53:14
阅读次数:
250
NYOJ 674 善良的国王(树形背包DP)...
分类:
其他好文 时间:
2014-05-14 14:59:43
阅读次数:
310