这个时间复杂度是 n*log n 有了很大的优化 , 并且用stl函数库中的 lower_bound 能简化代码 . 这个题用 平时的n^2 的代码的话 是铁定超时的 下面附上 140ms 的代码 ...
分类:
其他好文 时间:
2016-04-24 15:47:29
阅读次数:
160
题目传送门 : -------->点这里点这里 d[len] , d[len++] = num; 继续 2 。如果num >= d[len] , 使用二分法查看d数组,0 - len 的区域,找出不比num小的最小的数使用num替换他。继续 2 。输出 len . 为 最长子序列长度。 =====....
分类:
其他好文 时间:
2015-11-20 23:14:09
阅读次数:
157
地址:http://acm.nyist.net/JudgeOnline/problem.php?pid=214
分类:
其他好文 时间:
2015-11-10 21:06:19
阅读次数:
188
动态规划问题:令dp[i]表示:在str[0-i]中,当以str[i]为单调递增子序列最后一个元素时,所得最长单调递增子序列的长度。递推式:dp[0]=1(第一个字符自己也为递增序列 )当0#includeusing namespace std;int main(){ int n; c...
分类:
其他好文 时间:
2015-09-06 18:15:50
阅读次数:
133
问题定义: 给定一个长度为N的数组A,找出一个最长的单调递增子序列(不要求连续)。 这道题共3种解法。1. 动态规划 动态规划的核心是状态的定义和状态转移方程。定义lis(i),表示前i个数中以A[i]结尾的最长递增子序列的长度。可以得到以下的状态转移方程:d(i) = max(1, d(j)...
分类:
其他好文 时间:
2015-08-12 18:43:08
阅读次数:
109
称号:hdoj 5087 Revenge of LIS II题意:非常easy,给你一个序列,让你求第二长单调递增子序列。分析:事实上非常easy。不知道比赛的时候为什么那么多了判掉了。我们用O(n^2)的时间求单调递增子序列的时候,里面在加一层循环维护sum数组。表示前面有几个能够转移当当前,求前...
分类:
其他好文 时间:
2015-08-08 21:17:05
阅读次数:
115
题目17
题目信息
运行结果
本题排行
讨论区
单调递增最长子序列
时间限制:3000 ms | 内存限制:65535 KB
难度:4
描述求一个字符串的最长递增子序列的长度
如:dabdbf最长递增子序列就是abdf,长度为4
输入第一行一个整数0
随后的n行,每行有一个字符串,该字符串的长度不会超过10000
输出输出...
分类:
其他好文 时间:
2015-08-02 08:57:22
阅读次数:
127
地址: http://acm.nyist.net/JudgeOnline/problem.php?pid=214
分类:
其他好文 时间:
2015-07-02 23:58:21
阅读次数:
263
题目描述:设 A解题思路:使用动态规划方法。
对于i= 1, 2, ……,n,考虑以xi作为最后项的最长递增子序列的长度C[i].
如果在xi项前面存在xj < xi , 那么 C[i] = max{C[j]} +1;否则,C[i] = 1.
因此,C[i] = max{C[j]} + 1, 存在j,1<=j<i, xj<xi
C[i] = 1, 所有j,1<=jxi
C[1]...
分类:
其他好文 时间:
2015-06-06 18:13:08
阅读次数:
137