最长连续递增子序列
2018-02-03 11:10
253 查看
7-23 最长连续递增子序列(20 分)
给定一个顺序存储的线性表,请设计一个算法查找该线性表中最长的连续递增子序列。例如,(1,9,2,5,7,3,4,6,8,0)中最长的递增子序列为(3,4,6,8)。输入格式:
输入第1行给出正整数n(≤105);第2行给出n个整数,其间以空格分隔。输出格式:
在一行中输出第一次出现的最长连续递增子序列,数字之间用空格分隔,序列结尾不能有多余空格。输入样例:
15 1 9 2 5 7 3 4 6 80 11 15 17 17 10
输出样例:
3 4 6 8
#include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> #include"vector" #include<stack> #include "queue" #define N 0xfffff using namespace std; struct ac{ int b; int k; }r[100005]; int main() { int n,u; int maxn=-1; scanf("%d",&n); for (int i=1; i<=n; i++) { scanf("%d",&r[i].b); r[i].k=1; } for (int i=1; i<n; i++) { for (int j=i+1;j<=n; j++) { if(r[j].b>r[j-1].b) r[i].k++; else break; } } for (int i=1; i<=n; i++) { if (r[i].k>maxn) { u=i; maxn=r[i].k; } } for (int i=u; i<=u+maxn-1; i++) { if (i==u) { printf("%d",r[i].b); } else printf(" %d",r[i].b); } return 0; }
相关文章推荐
- 51Nod - 1241 特殊的排序(求最长连续递增子序列)
- 5-1 最长连续递增子序列
- 线段树区间合并+最长连续递增子序列——HDU 3308
- 最长连续递增子序列
- 习题3.4 最长连续递增子序列
- 矩阵中最长连续递增子序列
- 最长连续递增子序列
- 5-2 最长连续递增子序列
- HDU 3308——LCIS(线段树,区间合并,最长连续递增子序列)
- 湖北民族学院oj 1668 之 最长连续递增子序列
- 天梯赛2 重现5-4 最长连续递增子序列
- [LintCode] Longest Increasing Continuous Subsequence 最长连续递增子序列
- 最长连续递增子序列
- 最长连续递增子序列
- 用二分法寻找最长连续单调递增子序列
- 最长连续递增子序列
- 最长单调"连续"递增子序列
- 最长连续递增子序列
- 最长连续递增子序列
- 最长连续递增子序列