最长上升序列(动态规划)
来源:互联网 发布:淘宝要求3c认证 编辑:程序博客网 时间:2024/04/29 15:14
最长上升序列
题目描述
设有n个整数组成的数列,记为:b(1)、b(2)、……、b(n)且b(i)<>b(j) (i<>j),若存在i1<i2<i3< … < ie 且有b(i1)<b(i2)< … <b(ie)则称为长度为e的上升序列。程序要求,当原数列出之后,求出最长的上升序列。
例如13,7,9,16,38,24,37,18,44,19,21,22,63,15。例中13,16,18,19,21,22,63就是一个长度为7的上升序列,同时也有7 ,9,16,18,19,21,22,63长度为8的上升序列。
输入
输入n个不同的整数(n<=100)
输出
输出有2行,第1行是最长上升序列的长度
第2行是最长上升序列
样例输入
300 250 275 252 200 138 245
样例输出
max=2
250 275
设有n个整数组成的数列,记为:b(1)、b(2)、……、b(n)且b(i)<>b(j) (i<>j),若存在i1<i2<i3< … < ie 且有b(i1)<b(i2)< … <b(ie)则称为长度为e的上升序列。程序要求,当原数列出之后,求出最长的上升序列。
例如13,7,9,16,38,24,37,18,44,19,21,22,63,15。例中13,16,18,19,21,22,63就是一个长度为7的上升序列,同时也有7 ,9,16,18,19,21,22,63长度为8的上升序列。
输入
输入n个不同的整数(n<=100)
输出
输出有2行,第1行是最长上升序列的长度
第2行是最长上升序列
样例输入
300 250 275 252 200 138 245
样例输出
max=2
250 275
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;int main(){ int i=0,a[1005],c[1005]={0},j,dp[1005][3]; while(scanf("%d",&dp[i+1][1])!=EOF) { dp[i+1][2]=1; dp[i+1][3]=0; i++; } int n=i; for(i=n-1;i>=1;i--) { int l=0,k=0; for(j=i+1;j<=n;j++) if(dp[j][1]>dp[i][1]&&dp[j][2]>l) { l=dp[j][2]; k=j; } dp[i][2]=l+1; dp[i][3]=k; } int maxs=0; for(i=1;i<=n;i++) maxs=max(maxs,dp[i][2]); for(i=1;i<=n;i++) if(dp[i][2]==maxs) { printf("max=%d\n",maxs); while(maxs) { printf("%d ",dp[i][1]); i=dp[i][3]; maxs=dp[i][2]; } printf("\n"); break; } return 0;}
阅读全文
0 0
- 动态规划(最长上升子序列)
- 最长上升子序列(动态规划)
- 最长上升子序列(动态规划)
- 最长上升子序列(动态规划)
- 最长上升序列(动态规划)
- 最长上升子序列问题(动态规划)
- 动态规划-最长上升子序列(LIS)
- HDU 1257(贪心;动态规划(最长上升子序列))
- sdut1299 最长上升子序列(动态规划)
- 动态规划(DP)之最长上升子序列
- 【动态规划】最长上升子序列(LIS)
- 动态规划 最长上升子序列(LIS)
- 最长上升子序列问题-动态规划(DP)
- 动态规划(DP)之最长上升子序列问题
- 动态规划:最长上升子序列(二分算法 nlogn)
- 动态规划 01 (最长上升子序列)
- 动态规划练习-1(最长上升子序列)
- 动态规划--(最长上升子序列 poj2533)
- http、TCP/IP协议与socket之间的区别
- 关注民生民情——华北水利水电大学“情艺”国情社情滴哦超
- 2017 08 21 小结
- poj 3254 Corn Fields(他们说是状压dp??)
- TCP面试过程中经常遇到的问题
- 最长上升序列(动态规划)
- 欢迎使用CSDN-markdown编辑器
- UIView的drawHierarchy vs CALayer的render
- 8.21
- 疯狂Java笔记之面向对象的陷阱
- 百练 3723 围棋(dfs)
- Protecting Zonk UVA
- Shell脚本中的字符串测试
- anaconda与pip install, sudo pip install