POJ 2533 LIS
来源:互联网 发布:医院网络解决方案 编辑:程序博客网 时间:2024/05/22 11:58
题目大意:找出所给序列的最长上升子序列。
算法思想:
采用动态规划的思想,用dp[i]记录到第i个元素的最长上升子序列的长度,状态转移方程为 dp[i]=max(dp[j](1<=j<i))+1。
代码如下:
#include <iostream>#include <cstring>#include <algorithm>using namespace std;const int MAXN=10000;int a[MAXN];int dp[MAXN];int LIS(int a[],int N){ int m; int ans=1; dp[1]=1; for(int i=2;i<=N;i++){ m=0; for(int j=1;j<i;j++){ if(a[i]>a[j]&&dp[j]>m)//找出小于a[i]的最大的dp[j]; { m=dp[j]; } } dp[i]=m+1; ans=max(ans,dp[i]); } return ans;}int main(){ int N; while(cin>>N){ for(int i=1;i<=N;i++){ cin>>a[i]; } cout<<LIS(a,N)<<endl; } return 0;}
0 0
- poj 2533 DP(LIS)
- POJ 2533 LIS模板
- POJ 2533 LIS
- POJ 2533 LIS N2
- POJ-2533 裸LIS
- [DP-LIS] POJ 2533
- poj-2533-LIS模板题
- POJ 2533 Longest Ordered Subsequence 典型LIS
- POJ 2533 Longest Ordered Subsequence DP(LIS)
- poj - 2533 - Longest Ordered Subsequence(LIS)
- Poj 2533 Longest Ordered Subsequence(LIS)
- poj 2533 Longest Ordered Subsequence (LIS)
- POJ 2533 : Longest Ordered Subsequence - LIS问题
- POJ 2533 Longest Ordered Subsequence (LIS)
- POJ 2533 Longest Ordered Subsequence(LIS)
- POJ 2533 Longest Ordered Subsequence (LIS)
- POJ 2533 Longest Ordered Subsequence (LIS)
- POJ-2533Longest Ordered Subsequence(LIS)
- 密码截取,回文对比
- i os 推送服务 java
- 2014NEUQ图灵杯(C语言解法)
- Android SwipeRefreshLayout 官方下拉刷新控件介绍
- Android添加新版本支持包V7后自定义ActionBar左侧有空白,不能完全填充问题解决
- POJ 2533 LIS
- HEVC代码追踪(十一):运动估计/补偿之理论知识
- Android游戏开发之数据库SQLite 详细介绍(十七)
- MAT hprof 内存分析
- Android利用V4包中的SwipeRefreshLayout实现上拉加载
- C#中的String.Format介绍
- 常见Java面试题 – 第一部分:非可变性(Immutability)和对象引用(Object reference)
- codevs1048 石子归并(区间DP)
- Android软件开发之盘点所有Dialog对话框大合集(一)