2533专题

POJ 2533 LIS N2

状态转移方程  dp[i]=max(dp[i],dp[j]+1); dp[i]为以第i个数结尾的能得到的最长的上升子序列。1<=j<i。 这个题目注意a[i]可能为0,因此要注意初始化a[0]=-1; http://poj.org/problem?id=2533 Longest Ordered Subsequence Time Limit: 2000MSMemory Limit: 6

Poj 2533-Longest Ordered Subsequence(最长有序子序列)

题意:就是求最长上升子序列。 分析:有朴素的O(N^2)的简单dp,也有O(nlogn)的二分思想。 方法一:dp,对应原序列的每个元素,dp数组记录包含这个数在内的与之前所有数一起能构成的最长有序子序列的长度,最后对dp数组遍历取最大值即可   #include<stdio.h>#include<string.h>#include<iostream>#include<algorit

poj 动态规划DP - 2533 Longest Ordered Subsequence

动态规划经典题:最长上升子序列。  假如我们考虑求A[1],A[2],…,A[i]的最长非降子序列的长度,其中i<N, 那么上面的问题变成了原问题的一个子问题(问题规模变小了,你可以让i=1,2,3等来分析) 然后我们定义d(i),表示前i个数中以A[i]结尾的最长非降子序列的长度。OK, 对照“入门”中的简单题,你应该可以估计到这个d(i)就是我们要找的状态。 如果我们把d(1)到d(N

POJ 2533: Longest Ordered Subsequence

【Problem Description】 A numeric sequence of ai is ordered if a1 < a2 < … < aN. Let the subsequence of the given numeric sequence (a1, a2, …, aN) be any sequence (ai1, ai2, …, aiK), where 1 <= i1 < i2

POJ 2533 Longest Ordered Subsequence(最长非递减子序列,LIS)

点击前来水一下 Longest Ordered Subsequence Time Limit: 2000MS Memory Limit: 65536KTotal Submissions: 50206 Accepted: 22293 Description A numeric sequence of  ai is ordered if  a1 <  a2 < ...

poj-2533-Longest Ordered Subsequence-最长上升子序列

题意: 求最长上升子序列 做法: 最长上升子序列。、、、、 注意: 注意数组范围 #include<iostream>#include<stdio.h>#include<string.h>using namespace std;int main(){int n,i,j;int a[100001];cin>>n;for(i=1;i<=n;i++){cin>>a[i];}in